1 回答

TA貢獻(xiàn)1038條經(jīng)驗(yàn) 獲得超227個(gè)贊
?在shell中是test操作命令,通常用來(lái)測(cè)試文件,比較數(shù)字,字符串。而代碼語(yǔ)句的[]表示進(jìn)行基本的算數(shù)運(yùn)算。$在shell中通常表示對(duì)變量?jī)?nèi)容的引用。其中 -eq是測(cè)試條件中的操作符,判斷是否相等
num1=$[2*3]? #計(jì)算表達(dá)式2*3的值賦給變量num1?
test $[num1] - eq $[num2]? # 比較數(shù)值變量num1與數(shù)值變量2是否相等
需要注意的是
在shell中賦值時(shí),=號(hào)兩邊不能有空格,右邊值默認(rèn)為字符串類(lèi)型,
在sell中變量的定義與使用是兩個(gè)概念,定義完變量,在使用變量值時(shí),需要在變量名前加$符號(hào)
簡(jiǎn)單來(lái)講 $[num1] 是表示使用一個(gè)數(shù)值變量,
而$str則是使用一個(gè)字符串變量,
${nam}這種形式則表示為進(jìn)行對(duì)變量的使用(不確定變量類(lèi)型)
對(duì)于 a=3+7 ,若$a則值為字符串3+7,若$[a]則對(duì)其內(nèi)容值進(jìn)行運(yùn)算后的結(jié)果為10。前者默認(rèn)為字符串,后者則是程序表達(dá)式語(yǔ)句。前者相當(dāng)于其它語(yǔ)言中的對(duì)字符加了單雙引號(hào),后者類(lèi)似js或python語(yǔ)言中的eval函數(shù)傳入一個(gè)字符串,通過(guò)相應(yīng)解釋器進(jìn)行評(píng)估計(jì)算
添加回答
舉報(bào)