shellscript-10-加减乘除计算器
脚本内容
#!/bin/bash
# author: yolo
# 传参实现加减乘除
# 例如:sh xxx.sh 1 2 分别计算加减乘除的结果
# 数字必须为整数
# 减法或者除法时判断那个数字大
# 减法 大减小 ,除法 大除以小保留两位小数
# 先判断参数是不是两个
if [ $# -ne 2 ]
then
echo "参数不是两个请输入:./$0 1 2"
exit 1
fi
# 判断数字是否是整数
is_int()
{
# [^0-9] 取非
if echo "$1"|grep -q '[^0-9]'
then
echo "$1 不是一个数字"
exit 1
fi
}
# 找最大数 大于等于
max()
{
if [ $1 -ge $2 ]
then
echo $1
else
echo $2
fi
}
# 小 小于
min()
{
if [ $1 -lt $2 ]
then
echo $1
else
echo $2
fi
}
# 加法
sum()
{
echo "$1 + $2 = $[$1+$2]"
}
# 减法
minus()
{
big=`max $1 $2`
small=`min $1 $2`
echo "$big - $small = $[$big-$small]"
}
# 乘法
mult()
{
echo "$1 * $2 = $[$1*$2]"
}
# 除法
div()
{
big=`max $1 $2`
small=`min $1 $2`
# 保留两位小数 bc为linux命令计算器
d=`echo "scale=2; $big / $small" | bc`
echo "$big / $small = $d"
}
# 调用函数
is_int $1
is_int $2
sum $1 $2
minus $1 $2
mult $1 $2
div $1 $2