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 不是運算符"
總結
以上是生活随笔為你收集整理的linux shell 计算器 除0,用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1....的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux中的定时,linux中的定时任
- 下一篇: c++语言编辑简单的计算器,c++编写简