Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5615
  • 博文数量: 5
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2017-12-16 15:04
文章分类
文章存档

2017年(5)

我的朋友
最近访客

分类: LINUX

2017-12-16 15:12:25

编写一个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处理

阅读(449) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~