linux結構化命令:if-then
阿新 • • 發佈:2019-02-07
最基本的if-then結構:
if commond
then
commonds
fi
一、在java中,if條件是使用TURE或者FALSE來做判斷,在shell中,則是根據命令的退出狀態來的。
如果如果成功執行命令,狀態為0,則執行then後面的命令,如果沒有成功執行命令,狀態為0
以外的其他值,則then後面的命令則不會執行。bash shell 會移動到指令碼的下一條命令。
如下是一個指令碼:test1.sh
執行結果如下:
可以看到,在第一個if條件中,"dafadfa"肯定是執行不了的,所以報錯"command not found”
在 “elif” 中,"date"執行成功,返回0,所以執行了then後面的列印
二、利用test命令做條件判斷
在上面的指令碼中,if判斷的依據都是根據if條件中的命令是否能夠執行來作為依據,然而在很多情況下,我們需要比較大小,比較是否
相等。。。我們可以利用test命令,來達到我們的目的。
test命令提供一種檢測if-then語句中不同條件的方法。如果test命令中列出的條件評估值為true,test命令則以0的狀態碼。這是if-then與
其他程式語言中的if-then一樣的方法執行。如果test命令中列出的評估值為false,則if-then語句失敗
test使用如下:
if test condition
then
commonds
fi
還有另外一種方式:
if [ condition]
then
commdonds
fi
test命令能夠評估一下三類條件:
1、數值比較
2、字串比較
3、檔案比較
a、數值比較
測試指令碼test2.sh:
執行test2.sh,結果如下:
b、字串比較
c、檔案比較