编写一个shell具体要求如下
1. 编写一个变量为5的数字
2. 当用户执行此shell时 会提示 NO. :
这时用户需要输入一个任意数字,此时将返回变量5与用户输出的数字相乘的结果
例如: 变量为5 用户输出结果为4 返回结果为20 需要输出到屏幕
5 * 4 = 20
如果用户不输出数字 那默认返回0
如果输出了一段字符串 则返回错误 Error
提示: 可用bc命令做
且最大返回的数字不得超过2000 否则将自动中断
#!/bin/bash
##guying
read -p "NO.:" mx #判断是否输入为空
if [ $mx ];then
echo >/dev/null
else
echo 0
exit
fi
if grep -q '^[[:digit:]]*$' <<< "$mx" ;then #判断是否输入为数字
num=` expr 5 \* $mx`
elif grep -q '^[[:alpha:]]*$' <<< "$mx" ;then #判断是否输入为字符
echo "Error"
exit
else
echo >/dev/null
fi
if [ $num -le 2000 ] ;then #最大返回的数字不得超过2000 否则将自动中断
echo "5 * $mx = $num"
exit
else
exit
fi
这里使用到的: <<< 将读取到的$mx的值交给grep处理
阅读(1621) | 评论(0) | 转发(1) |