一、if的基本語法:
if [ command ]
then
符合該條件執行的語句
elif [ command ]
then
符合該條件執行的語句
else
符合該條件執行的語句
fielif可以巢狀多個
裡邊必須要加空格,必須要寫成if_[條件];then,其中_代表空格
二、字串判斷
[ -z str ] 當str的長度為0則為真 ,即判斷是否為空,空即是真(空串);
[ -n str ] 當str長度非0則為真 ,即判斷是否為非空,非空即是真(串非空);
[ str1 = str2 ] 當兩個字串相同則為真 ;
[ str1 != str2 ] 當字串不相同則為真 ;
[ str1 ] 當字串為非空時為真
三、數值判斷
int1 -eq int2 兩數相等為真 =
int1 -ne int2 兩數不等為真 <>
int1 -gt int2 int1大於int1為真 >
int1 -ge int2 int1大於等於int2為真 >=
int1 -lt int2 int1小於int2為真 <
int1 -le int2 int1小於等於int2為真 <=
四、檔案的判斷
-r file 使用者可讀為真
-w file 使用者可寫為真
-x file 使用者可執行為真
-f file 檔案為正規檔案為真
-d file 檔案為目錄為真
-c file 檔案為字元特殊檔案為真
-b file 檔案為塊特殊檔案為真
-s file 檔案大小非0時為真
-t file 當檔案描述符(預設為1)指定的裝置為終端時為真
五、複雜邏輯判斷
-a 與
-o 或
! 非
&&、|| 即包含又包含的意思
eg:條件如果a>b且a$b ]] && [[ $a < $c ]]
if if 和 if elif 的區別
再一次程式設計中意外使用了if if 也實現了 if elif的功能,所以搜尋了下其中的區別 1 if if 和 if elif 是有區別的,只是在某些情況下才會一樣的效果 2 隨意使用會導致意外的錯誤。現在舉幾個例子區別 程式一defanalyzeage age ifage 21 print yo...
C語言中system呼叫shell指令碼的問題
在c語言中使用system 語句呼叫shell指令碼時,c語言程式並不會等待system 語句執行完畢尤其在shell指令碼有呼叫bash下命令時並向檔案輸出時,又無法用重新整理標準輸出流緩衝區的方式來解決亂序輸出的問題.例如 c中部分 for int i 0 i 5 i system test.s...
在C語言中執行shell命令
在 c語言中執行shell 命令1 system 系統呼叫 int system const char string system 會呼叫fork 產生子程序,由子程序來呼叫 bin sh c string 來執行引數string字串所代表的命令,此命令執行完後隨即返回原呼叫的程序。在呼叫syste...