linux shell 中判斷語句

2021-09-01 13:51:12 字數 1971 閱讀 4997

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 檔案的判斷

-r file     使用者可讀為真

-w file     使用者可寫為真

-x file     使用者可執行為真

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

-d file     檔案為目錄為真

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

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

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

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

3、複雜邏輯判斷

-a         與

-o        或

!        非

下面是一些使用例項:

#這裡的-x 引數判斷$mypath是否存在並且是否具有可執行許可權

if [ ! -x "$mypath"]; then

mkdir "$mypath"

fi#這裡的-d 引數判斷$mypath是否存在

if [ ! -d "$mypath"]; then

mkdir "$mypath"

fi#這裡的-f引數判斷$myfile是否存在

if [ ! -f "$myfile" ]; then

touch "$myfile"

fi#其他引數還有-n,-n是判斷乙個變數是否是否有值

if [ ! -n "$myvar" ]; then

echo "$myvar is empty"

exit 0

fi#兩個變數判斷是否相等

if [ "$var1" == "$var2" ]; then

echo '$var1 eq $var2'

else

echo '$var1 not eq $var2'

fiif list then

do something here

elif list then

do another thing here

else

do something else here

fi  

ex1:

#!/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     #ifend

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

python中if判斷語句

if的用法 if 要判斷的條件 條件成立的時候,要做的事情 else 條件不成立的時候,要做的事情 1.定義乙個變數 age 16 2.判斷年齡是否滿18歲 age 16 if age 18 print 成年 age else print 未成年 age if 要判斷的條件 條件成立的時候,要做的事...

if判斷語句

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

判斷和判斷語句

判斷它如果對了就怎麼這麼做 如果錯了就怎麼這麼做 那這我們可以使用if.else這樣的判斷語句 if 判斷條件 else這樣就是它的格式 如果判斷條件是對的程式就會執行if裡面的 塊 如果判斷條件是錯的程式就會執行else裡面的 塊 案例 int a 10 if a 10 else判斷條件裡的變數等...