今儿个,咱来聊聊怎么在 Shell 脚本里头搞搞简单的数学计算,就是加减乘除那些事儿。平时写脚本,这些计算还挺常用的,特别是处理数字的时候。我自个儿也摸索过一阵子,踩过一些坑,今儿就来跟大家伙儿分享分享我的经验,省得你们再走弯路。
第一种方法,简单粗暴双括号法
我是先找到一种叫做"双括号法"的玩意儿。这方法简单粗暴,直接用两层小括号 把你的计算式子一套就完事儿。比如你想算个 1+1,那就写成 ((1+1))。这种方式不用像网上其他文章里讲的那样还得在变量前面加个 符号,直接写就行。我试一下,还真能用!
我用我那台老旧的笔记本电脑打开终端,准备实际操作一下。我先是定义一个变量,比如叫 sum ,然后我尝试把 1+1 的结果赋值给它,就像这样:
sum=$((1+1))
敲下回车,没报错!看来这方法还挺靠谱。然后我用 echo 命令打印一下 sum 的值:
echo $sum
终端里立马显示出 2,完全没毛病!我又试试更复杂的计算,比如 ((34-2)),也都能正确算出结果。当时我就觉得,这双括号法还挺好使,简单又直接。
第二种方法,来整个 let 法
后来我又发现一个叫 let 的命令,据说也能做计算。于是我就尝试一下,看看它和双括号法有啥区别。使用 let 的方法是这样的,比如你要计算 5-2,那就写成 let "result=5-2",我发现这个方法还必须得把计算的式子用双引号给括起来。同样地,我也在终端里实践一下:
let "result=5-2"
echo $result
结果同样输出 3,看来 let 命令也能胜任加减乘除的活儿。不过我个人还是更喜欢双括号法,感觉更简洁一些,不用打那么多字儿。
小结
今儿我试用两种在 Shell 里进行四则运算的方法:双括号法和 let 法。这两种方法都能实现加减乘除运算,大家可以根据自个儿的喜好来选择使用哪一种。除这两种,还有其他的方法,比如 expr 命令、bc 命令等等。不过那些命令用起来有些许麻烦,得益于我那蹩脚的英文水平,我至今也没能彻底的掌握那些命令的使用方法。就先不跟大家分享,我得空再研究研究。今儿就先到这儿,希望我的分享能帮到你们!