Shell指令碼IF條件判斷和判斷條件總結

2022-05-07 02:57:09 字數 1596 閱讀 6847

**自:

前言:      無論什麼程式語言都離不開條件判斷。shell也不例外。

if

list

then

dosomething here

elif

list

then

doanother thing here

else

dosomething

else

here fi​

ex1:

#!/bin/sh

system

=`uname -s`

#獲取作業系統型別,我本地是linuxif[

$system

="linux"];

then

#如果是linux的話列印linux字串

echo

"linux"

elif

[$system

="freebsd"];

then

echo

"freebsd"

elif

[$system

="solaris"];

then

echo

"solaris"

else

echo

"what?"

fi#ifend​

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

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)指定的裝置為終端時為真

4、複雜邏輯判斷

-a         與 

-o        或 

!        非

結尾語法雖然簡單,但是在shell裡使用的時候,他的功能變得強大了。

shell判斷false shell條件判斷

shell 開頭以sh字尾 開頭 注釋,表明採用何種直譯器 bin bash author cheonghu date 2020 05 06 desc shell demo abc檔案許可權 ll total 4 rw r r 1 root root 88 apr 24 22 15 demo.sh其...

shell判斷false shell條件判斷

條件判斷 判斷語句 基本語法 condition 注意condition前後由空格 非空返回true,可使用 驗證 0為true,1為false 判斷語句 1 兩個整數的比較 字串比較 lt小於 le小於等於 eq等於 gt大於 ge大於等於 2 按照檔案許可權進行判斷 r有讀的許可權 w有寫的許可...

Shell指令碼IF條件判斷和判斷條件總結

前言 無論什麼程式語言都離不開條件判斷。shell也不例外。如下 if list then do something here elif list then do another thing here else do something else here fiex1 bin sh system u...