linux下的shell运算(加、减、乘、除)
關(guān)注微信公眾號“蝦米聊吧” 獲取所有資料干貨,每天更新技術(shù)干貨,一起交流一起學(xué)習(xí)~
?
((i=$j+$k))??? 等價于 i=`expr $j + $k`
((i=$j-$k))???? 等價于?? i=`expr $j -$k`
((i=$j*$k))???? 等價于?? i=`expr $j \*$k`
((i=$j/$k))???? 等價于?? i=`expr $j /$k`
Let expressions?執(zhí)行一個或多個表達式。表達式中的變量前不必有$.如果表達式中包含了空格或其他特殊字符,則必須引起來。
例:let “I = I + 1” 或 let i=i+1
?
算術(shù)運算符指的是可以在程序中實現(xiàn)加、減、乘、除等數(shù)學(xué)運算的運算符。Shell中常用的數(shù)學(xué)運算符如下所示。
— +:對兩個變量做加法。
— -:對兩個變量做減法。
— *:對兩個變量做乘法。
— /:對兩個變量做除法。
— **:對兩個變量做冪運算。
— %:取模運算,第一個變量除以第二個變量求余數(shù)。
— +=:加等于,在自身基礎(chǔ)上加第二個變量。
— -=:減等于,在第一個變量的基礎(chǔ)上減去第二個變量。
— *=:乘等于,在第一個變量的基礎(chǔ)上乘以第二個變量。
— /=:除等于,在第一個變量的基礎(chǔ)上除以第二個變量。
— %=:取模賦值,第一個變量對第二個變量取模運算,再賦值給第一個變量。
在使用這些運算符時,需要注意到運算順序的問題。例如輸入下面的命令,輸出1+2的結(jié)果。
echo 1+2
Shell并沒有輸出結(jié)果3,而是輸出了1+2。在shell中有三種方法可以更改運算順序。
— 用expr改變運算順序。可以用echo `expr 1 +2`來輸出1+2的結(jié)果,用expr表示后面的表達式為一個數(shù)學(xué)運算。需要注意的是,`并不是一個單引號,而是“Tab”鍵上面的那個符號。
— 用let指示數(shù)學(xué)運算。可以先將運算的結(jié)果賦值給變量b,運算命令是b=let 1 + 2。然后用echo$b來輸出b的值。如果沒有l(wèi)et,則會輸出1+2。
— 用$[]表示數(shù)學(xué)運算。將一個數(shù)學(xué)運算寫到$[]符號的中括號中,中括號中的內(nèi)容將先進行數(shù)學(xué)運算。例如命令echo$[1+2],將輸出結(jié)果3。
下面是一個shell程序?qū)嵗?#xff0c;實現(xiàn)數(shù)學(xué)函數(shù)S=3(xy)+4x2+5y+6的運算。在程序中以位置變量的方式輸入x與y的值。程序的編寫步驟如下所示。
?在主菜單中打開一個終端。在終端中輸入“vim”命令打開VIM。
?在VIM中按“i”鍵進入插入模式,然后輸入下面的代碼。
代碼4-2? 數(shù)學(xué)運算實例:\源文件\04\4.4.sh
#!/bin/bash
#4.4.sh
s=0????????????????????????????????????#定義一個求和變量,初值為0。
t=`expr$1**$2`????????????????????????#用expr改變運算順序,求x的y次方。
t=$[t*3]???????????????????????????????#t乘以3。
s=$[s+t]???????????????????????????????#結(jié)果相加。
t=$[$1**2]?????????????????????????????#求x的平方。
t=$[t*4]???????????????????????????????#結(jié)果乘以4。
s=$[s+t]???????????????????????????????#結(jié)果相加。
t=`expr$2*5`??????????????????????????#求5y的值。
s=$[s+t]???????????????????????????????#結(jié)果相加。
s=$[s+6]???????????????????????????????#結(jié)果加上6。
echo$s????????????????????????????????#輸出結(jié)果。
echo$((a%b))??????????????????????????#取余
?在這個程序中,需要注意算術(shù)運算的寫法。如果沒有expr或$[]更改運算順序,則會將運算式以字符串的形式賦值,而不會賦值運算結(jié)果。
?按“Esc”鍵返回到普通模式。然后輸入“:w 4.4.sh”保存文件。
?輸入“:q”命令,按“Enter”鍵退出VIM。
?在終端中,輸入下面的命令對4.4.sh文件添加可執(zhí)行權(quán)限。
chmod +x 4.4.sh
?輸入下面的命令運行程序。在命令中需要輸入兩個參數(shù)。
./4.4.sh 2 4
?程序會完成S=3(xy)+4x2+5y+6的數(shù)學(xué)運算并輸出結(jié)果,結(jié)果如下所示。
90
?
轉(zhuǎn)自:http://blog.csdn.net/taijianyu/article/details/6907288
?
qq群 :557911445??個人qq:193459197
關(guān)注微信公眾號“蝦米聊吧”,后續(xù)持續(xù)放送“技術(shù)架構(gòu)和資料”干貨!!!
???一個熱衷于分享技術(shù)和生活的程序猿,讓我們一起交流吧~??
?微信掃描二維碼,關(guān)注我的公眾號
總結(jié)
以上是生活随笔為你收集整理的linux下的shell运算(加、减、乘、除)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 东方证券怎么样,是正规的证券公司
- 下一篇: Linux(CentOS6.4)下简单部