書-Linux命令行與shell腳本編程大全(第3版)
※互動式計算機-bc
※在腳本中使用bc
※判斷式-if then
※判斷式-if then else
※判斷式-if then elif
※數值的判斷
互動式計算機-bc
就像python的shell一樣,可以做任何的計算
$bc //quit離開
$bc -q //不顯示訊息
在腳本中使用bc
如果你要用浮點數去做運算,那可以使用這個。
echo 就是把這些文字都給bc,scale就是小數點後幾位。
要使用定義的變數,要加上'$'號。
如果要一次做很多的運算,可以考慮這個方法,EOF你可以想成一個字串的最後會有一個換行符號,讀到換行符號就知道結束了,只要讀到了EOF就會離開,記得在裡面宣告的變數不要加上'$'號。
判斷式-if then
跟其他程式語言的if不太一樣,通常都是看'true'和'false',但是bash shell的是看是否返回0(表示成功)就會執行then後面的程式,如果不是返回0就會跳出。
if pwd
then
echo "It ok"
fi #記得if結束後要用fi(顛倒)
exit 0
結果:
結果是會執行,因為pwd是顯示目前所在目錄。
下面這個執行失敗所以不會執行then後面的程式。
這是另外一種形式的寫法,都可以,看你習慣哪一個。
判斷式-if then else
有if就要講if else,用法都差不多。
跟其他程式語言不一樣的地方是if結束後就直接加上else,然後else後面不用加上then。
結果:
判斷式-if then elif
結果:
記得elif後面要加then。
數值的判斷
前面的判斷式,都是在說指令是否存在,那如果我要做數字、字串的比較就要加上其他的東西,就是要加上[]中括號,使用比較指令,然後記得比較指令不能比較浮點數。
為什麼不用數學符號,因為有可能會被shell當成字串來比較,為了避免這個麻煩,用shell提供的比較指令比較安全。
中括號前後都要空格。