linux shell 计算器 除0,用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1....

用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1.sh 1 + 2#!/bin/bash

if [ $# -ne 3 ]

then

echo "参数个数应该为3,例如:$0 1 + 2"

echo "当使用乘法时,需要加上脱义符号,例如:$0 1 \* 2"

exit 1;

fi

num1=`echo $1|sed 's/[0-9.]//g'`

if [ -n "$num1" ]

then

echo "$1不是数字"

exit 1

fi

num3=`echo $3|sed 's/[0-9.]//g'`

if [ -n "$num3" ]

then

echo "$3不是数字"

exit 1

fi

case $2 in

+)

echo "scale=2;$1+$3" | bc

;;

-)

echo "scale=2;$1-$3" | bc

;;

\*)

echo "scale=2;$1*$3" | bc

;;

/)

echo "scale=2;$1/$3" | bc

;;

*)

echo "$2 不是运算符"

;;

esac

解析:

$# 参数的数量

$0 当前执行的进程名

num1 -ne  num2 不等于 [ 3 -ne $mynum ]

-n string 如果 string长度非零,则为真 [ -n "$myvar" ]

sed   '【n1,n2】【[0-9a-zA-Z]】s/源字符串/目标字符串/g' filename

这里n1,n2是指区间n1到n2行,“s”就是替换的命令,“g”为本行中全局替换,如果不加‘g’,则只替换该行中出现的第一   个。除了可以使用“/”作为分隔符外,还可以使用其他特殊字符如“#”或者“@”。

bc命令是一种支持任意精度的交互执行的计算器语言。bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算。参数scale=2是将bc输出结果的小数位设置为2位

使用case,如果$2为+,输出echo "scale=2;$1+$3" | bc

依次论推

如果$2不是加减乘除任一情况,则输出echo "$2 不是运算符"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值