Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1392639
  • 博文数量: 146
  • 博客积分: 1440
  • 博客等级: 少尉
  • 技术积分: 2996
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-24 23:47
个人简介

我一直在走,至少还有条路,也好于无路可走…

文章分类

全部博文(146)

文章存档

2024年(1)

2023年(1)

2017年(2)

2016年(5)

2015年(13)

2014年(13)

2013年(70)

2012年(41)

分类: LINUX

2013-07-25 08:48:14

编写一个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) |
给主人留下些什么吧!~~