Linux shell if判斷語句

2021-10-01 17:04:26 字數 1442 閱讀 5715

無論什麼程式語言都離不開條件語句.html' target='_self'>判斷。shell也不例外。

大體的格式如下:

if list then

do something here

elif list then

do another thing here

else

do something else here

fi 乙個例子:

#!/bin/sh

system=`uname -s` # 獲取作業系統型別,我本地是linux

if [ $system = "linux" ] ; then # 如果是linux話輸出linux字串

echo "linux"

elif [ $system = "freebsd" ] ; then

echo "freebsd"

elif [ $system = "solaris" ] ; then

echo "solaris"

else

echo "what?"

fi # 判斷結束,以fi結尾

基本上和其他指令碼語言一樣。沒有太大區別。不過值得注意的是。裡面的條件判斷。說明如下:

1 字串判斷

str1 = str2     當兩個串有相同內容、長度時為真

str1 != str2     當串str1和str2不等時為真

-n str1       當串的長度大於0時為真(串非空)

-z str1       當串的長度為0時為真(空串)

str1        當串str1為非空時為真

2 數字的判斷

int1 -eq int2   兩數相等為真

int1 -ne int2   兩數不等為真

int1 -gt int2    int1大於int2為真

int1 -ge int2   int1大於等於int2為真

int1 -lt int2    int1小於int2為真

int1 -le int2    int1小於等於int2為真

3 檔案相關的if判斷條件語句

-r file     使用者可讀為真

-w file     使用者可寫為真

-x file     使用者可執行為真

-f file     檔案為正規檔案為真

-d file     檔案為目錄為真

-c file     檔案為字元特殊檔案為真

-b file     檔案為塊特殊檔案為真

-s file     檔案大小非0時為真

-t file     當檔案描述符(預設為1)指定的裝置為終端時為真

3 複雜邏輯判斷

-a        與

-o       或

!       非

語法雖然簡單,但是在shell裡使用的時候,它可以實現強大的功能或執行邏輯。

Linux shell if 判斷常用語法

是傳給指令碼的引數個數 0 是指令碼本身的名字 1 是傳遞給該shell指令碼的第乙個引數 2 是傳遞給該shell指令碼的第二個引數 是傳給指令碼的所有引數的列表 是以乙個單字串顯示所有向指令碼傳遞的引數,與位置變數不同,引數可超過9個 是指令碼執行的當前程序id號 是顯示最後命令的退出狀態,0表...

if判斷語句

判斷語句 if if 要判斷的條件 條件成立的時,要做的事情 else 條件不成立的時候,要做的事情 注意 的縮排為乙個tab鍵,或者四個空格 tab鍵和空格不要混用 age 13 if age 18 print 允許進入網咖 else print 未成年,不允許進入網咖 邏輯運算子 and 條件1...

if判斷語法

在人類日常生活中,我們經常遇到各種選擇判斷對錯的問題。例如,經典的問題1 1 2到底對不對啊?我們可以回答 對 然後,解析一堆 也可以回答 不對 再解釋另一堆。那麼,程式是用於解決我們人類生活工作中的問題,當然是避免不了要處理 選擇 的問題。在c語言中,提供了if判斷語法和switch多分支選擇語法...