Shell中编写简单计算器
2016-02-29 12:15
288 查看
#!/bin/bash
#2016-2-29
#于虎林
#思路如下
#1,判断有没有输入类容
#2,判断输入的是不是数值
#3,判断输入的运算符
#执行运算符操作
read -t 30 -p "请输入数值1:" num1
read -t 30 -p "请输入数值2:" num2
read -t 30 -p "请输入运算符:" ope
#判断输入的数值是不是为空
if [ -n "$num1" -a -n "$num2" -a -n "$ope" ] #-n 判断字符串是否为非空
then
#判断输入的是不是数字,(测试能不能将values的值替换为空,如果替换为空,说明输入的是数值,如果不行,说明输入的不是数值)
values1=$(echo $num1 |sed 's/[0-9]//g')
values2=$(echo $num2 |sed 's/[0-9]//g')
#判断输入的是不是数值,如果num1和num2的值为空,说明输入的是数值
if [ -z "$values1" -a -z "$values2" ] # -z 判断字符串是否为空
then
if [ "$ope" == '+' ]
then
sum=$(($num1 + $num2))
elif [ "$ope" == '-' ]
then
sum=$(($num1 - $num2))
elif [ "$ope" == '*' ]
then
sum=$(($num1 * $num2))
elif [ "$ope" == '/' ]
then
sum=$(($num1 / $num2))
else
echo "你输入的不是运算符,请输入有效运算符!"
exit 10
fi
echo "$num1$ope$num2=$sum"
else
echo "您输入的不是数字,请输入有效数字!"
exit 11
fi
else
echo "您没有输入数值,请输入有效数值!"
exit 12
fi
#返回10,没有输入正确的运算符
#返回11,输入的不是数字
#返回12,没有输入任何值
注:本文章仅此对自己以后学习参考
#2016-2-29
#于虎林
#思路如下
#1,判断有没有输入类容
#2,判断输入的是不是数值
#3,判断输入的运算符
#执行运算符操作
read -t 30 -p "请输入数值1:" num1
read -t 30 -p "请输入数值2:" num2
read -t 30 -p "请输入运算符:" ope
#判断输入的数值是不是为空
if [ -n "$num1" -a -n "$num2" -a -n "$ope" ] #-n 判断字符串是否为非空
then
#判断输入的是不是数字,(测试能不能将values的值替换为空,如果替换为空,说明输入的是数值,如果不行,说明输入的不是数值)
values1=$(echo $num1 |sed 's/[0-9]//g')
values2=$(echo $num2 |sed 's/[0-9]//g')
#判断输入的是不是数值,如果num1和num2的值为空,说明输入的是数值
if [ -z "$values1" -a -z "$values2" ] # -z 判断字符串是否为空
then
if [ "$ope" == '+' ]
then
sum=$(($num1 + $num2))
elif [ "$ope" == '-' ]
then
sum=$(($num1 - $num2))
elif [ "$ope" == '*' ]
then
sum=$(($num1 * $num2))
elif [ "$ope" == '/' ]
then
sum=$(($num1 / $num2))
else
echo "你输入的不是运算符,请输入有效运算符!"
exit 10
fi
echo "$num1$ope$num2=$sum"
else
echo "您输入的不是数字,请输入有效数字!"
exit 11
fi
else
echo "您没有输入数值,请输入有效数值!"
exit 12
fi
#返回10,没有输入正确的运算符
#返回11,输入的不是数字
#返回12,没有输入任何值
注:本文章仅此对自己以后学习参考
相关文章推荐
- android wifi 无线调试
- 运维入门
- 动态清空 nohup 输出文件
- install scrapy with pip and easy_install
- Linux Shell常用技巧
- Shell 脚本编程陷阱
- shell字符串操作详解
- Shell中删除某些文件外所有文件的3个方法
- Ruby中执行Linux shell命令的六种方法详解
- VB使用shell函数打开外部exe程序的实现方法
- Shell编程的一些知识集合
- Shell中的for和while循环详细总结
- 什么是Shell?Shell脚本基础知识详细介绍
- Shell脚本中引用、调用另一个脚本文件的2种方法
- Shell脚本解压rpm软件包
- Linux Shell 数组建立及使用技巧
- Shell脚本实现复制文件到多台服务器的代码分享
- Shell脚本实现批量替换文件内容
- Shell脚本实现的一个简易Web服务器例子分享
- linux Shell学习笔记第五天