close

書-Linux命令行與shell腳本編程大全(第3版)

※互動式計算機-bc

※在腳本中使用bc

※判斷式-if then

※判斷式-if then else

※判斷式-if then elif 

※數值的判斷

 

互動式計算機-bc

就像python的shell一樣,可以做任何的計算

$bc   //quit離開

image

$bc -q //不顯示訊息

image

在腳本中使用bc

如果你要用浮點數去做運算,那可以使用這個。

echo 就是把這些文字都給bc,scale就是小數點後幾位。

image

image

要使用定義的變數,要加上'$'號。

image

如果要一次做很多的運算,可以考慮這個方法,EOF你可以想成一個字串的最後會有一個換行符號,讀到換行符號就知道結束了,只要讀到了EOF就會離開,記得在裡面宣告的變數不要加上'$'號。

image

image

判斷式-if then

跟其他程式語言的if不太一樣,通常都是看'true'和'false',但是bash shell的是看是否返回0(表示成功)就會執行then後面的程式,如果不是返回0就會跳出。

if pwd

then

    echo "It ok"

fi    #記得if結束後要用fi(顛倒)

exit 0

image

結果:

image

結果是會執行,因為pwd是顯示目前所在目錄。

下面這個執行失敗所以不會執行then後面的程式。

image

image

這是另外一種形式的寫法,都可以,看你習慣哪一個。

image

判斷式-if then else

有if就要講if else,用法都差不多。

跟其他程式語言不一樣的地方是if結束後就直接加上else,然後else後面不用加上then。

image

結果:

image

判斷式-if then elif 

image

image

結果:

image

記得elif後面要加then。

數值的判斷

前面的判斷式,都是在說指令是否存在,那如果我要做數字、字串的比較就要加上其他的東西,就是要加上[]中括號,使用比較指令,然後記得比較指令不能比較浮點數。

為什麼不用數學符號,因為有可能會被shell當成字串來比較,為了避免這個麻煩,用shell提供的比較指令比較安全。

image

中括號前後都要空格。

image

image

arrow
arrow
    創作者介紹
    創作者 讀書小天地 的頭像
    讀書小天地

    書籍分享天地

    讀書小天地 發表在 痞客邦 留言(0) 人氣()