首页 > 代码库 > Shell 实现简单计算器功能
Shell 实现简单计算器功能
Shell 实现简单计算器功能,脚本如下:
[root@nfs scripts]# cat jisuan.sh #!/bin/bash print_usage(){ printf $"USAGE:$0 NUM1 {+|-|*|/} NUM2\n" exit 1 } #判断传入的参数是不是3个 if [ $# -ne 3 ] then print_usage fi firstnum=$1 secondnum=$3 op=$2 #对传入的参数进行判断看是不是合理 if [ -n "`echo $firstnum|sed ‘s/[0-9]//g‘`" ];then print_usage fi if [ "$op" != "+" ]&&[ "$op" != "-" ]&&[ "$op" != "*" ]&&[ "$op" != "/" ];then print_usage fi if [ -n "`echo $secondnum|sed ‘s/[0-9]//g‘`" ];then print_usage fi echo "${firstnum}${op}${secondnum}=$((${firstnum}${op}${secondnum}))"
调试:
[root@nfs scripts]# sh -x jisuan.sh 6 + 4 + ‘[‘ 3 -ne 3 ‘]‘ + firstnum=6 + secondnum=4 + op=+ ++ sed ‘s/[0-9]//g‘ ++ echo 6 + ‘[‘ -n ‘‘ ‘]‘ + ‘[‘ + ‘!=‘ + ‘]‘ ++ sed ‘s/[0-9]//g‘ ++ echo 4 + ‘[‘ -n ‘‘ ‘]‘ + echo 6+4=10 6+4=10 [root@nfs scripts]# sh -x jisuan.sh 5 \* 5 + ‘[‘ 3 -ne 3 ‘]‘ + firstnum=5 + secondnum=5 + op=‘*‘ ++ sed ‘s/[0-9]//g‘ ++ echo 5 + ‘[‘ -n ‘‘ ‘]‘ + ‘[‘ ‘*‘ ‘!=‘ + ‘]‘ + ‘[‘ ‘*‘ ‘!=‘ - ‘]‘ + ‘[‘ ‘*‘ ‘!=‘ ‘*‘ ‘]‘ ++ sed ‘s/[0-9]//g‘ ++ echo 5 + ‘[‘ -n ‘‘ ‘]‘ + echo ‘5*5=25‘ 5*5=25
注意:
“-x”表示调试,可以看见执行的步骤
对应 “*” 需要加 “\”转义
本文出自 “知识改变命运” 博客,请务必保留此出处http://ahtornado.blog.51cto.com/4826737/1927919
Shell 实现简单计算器功能
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。