首页 > 系统服务 > 详细

Shell中编写简单计算器

时间:2016-02-29 14:40:21      阅读:170      评论:0      收藏:0      [点我收藏+]

#!/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,没有输入任何值

注:本文章仅此对自己以后学习参考

本文出自 “sunshineboy” 博客,请务必保留此出处http://sunshineboy.blog.51cto.com/10310940/1745952

Shell中编写简单计算器

原文:http://sunshineboy.blog.51cto.com/10310940/1745952

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!