shell中的0 1與真假

2021-08-20 15:21:36 字數 631 閱讀 1065

shell中有提到「在shell程式中,0表示真,非0表示假,這一點與c語言恰恰相反。」其實是「判斷的最終結果只有兩種可能:真(0)或者假(非 0)」。也就是說,只有判斷的結果返回值為0時為真,1為假。這一點尤其不可與c語言的while(1)混為一談。

判斷[ ] :  [ condition ] 為判斷符,其中的條件condition為真返回 0,假返回 1

狀態碼:

每個表示式執行完退出的時候,都會返回乙個退出狀態碼(exit status 0~255),if語句根據 [ ] 表示式執行的退出狀態碼進行判斷,在所有的退出狀態碼中,0表示執行成功,1~255為退出的狀態代號(詳見下表)。所以,與c語言不同的就在這裡,shell的if [ 1 ] 中整數 0 1 與c語言中的 while(1)用法並不相通,也就是說整數 0 1 作為退出狀態碼的時候,確實表示真假,但是並不能作為 if [ ] 的判斷條件來用,雖然shell也是弱資料型別的語言。

即:作為條件的退出狀態碼時,0(成功)表示真,非0表示假

直接作為if 的判斷條件if [ 1 ]時,任何數字都返回真

python中if語句的真假判斷

在python中,if作為條件語句,當if後面的條件引數為真時,則執行後面的語句塊,反之跳過,為了深入理解if語句,我們需要知道if語句的真假判斷方式。在python互動器中,經過測試發現以下條件均為假,相當於false in 2 if print ok in 3 if 0 print ok in ...

python中if語句的真假判斷

說明 在python中,if作為條件語句,當if後面的條件引數為真時,則執行後面的語句塊,反之跳過,為了深入理解if語句,我們需要知道if語句的真假判斷方式。示例在python互動器中,經過測試發現以下條件均為假,相當於false in 2 if print ok in 3 if 0 print o...

shell中 與 的區別

命令替換 在bash中,與 反引號 都是用來作命令替換的。命令替換與變數替換差不多,都是用來重組命令列的,先完成引號裡的命令列,然後將其結果替換出來,再重組成新的命令列。exp 1 echo today is date y m d today is 2014 07 01 與 在操作上,這兩者都是達到...