1. 程式人生 > >linux結構化命令:if-then

linux結構化命令:if-then

最基本的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、檔案比較