shell中if語句的使用

2021-09-25 23:00:42 字數 764 閱讀 7686

1、基本語法:

if [ command ]; then

符合該條件執行的語句

fi2、擴充套件語法:

if [ command ];then

符合該條件執行的語句

elif [ command ];then

符合該條件執行的語句

else

符合該條件執行的語句

fi3、注意:shell中true==0,false==1。

4、注意:

1 )[ ]表示條件測試。注意這裡的空格很重要。要注意在'['後面和']'前面都必須要有空格

2 )在shell中,then和fi是分開的語句。如果要在同一行裡面輸入,則需要用分號將他們隔開。

3 )注意if判斷中對於變數的處理,需要加引號,以免一些不必要的錯誤。沒有加雙引號會在一些含空格等的字串變數判斷的時候產生錯誤。比如[ -n "$var" ]如果var為空會出錯

4 )判斷是不支援浮點值的

5 )如果只單獨使用》或者《號,系統會認為是輸出或者輸入重定向,雖然結果顯示正確,但是其實是錯誤的,因此要對這些符號進行轉意

6 )在預設中,執行if語句中的命令所產生的錯誤資訊仍然出現在指令碼的輸出結果中

7 )使用-z或者-n來檢查長度的時候,沒有定義的變數也為0

8 )空變數和沒有初始化的變數可能會對shell指令碼測試產生災難性的影響,因此在不確定變數的內容的時候,在測試號前使用-n或者-z測試一下

9 )? 變數包含了之前執行命令的退出狀態(最近完成的前台程序)(可以用於檢測退出狀態)

shell中if語句的格式以及使用

比較兩個字串是否相等的辦法是 if test x test x then 這裡的關鍵有幾點 1 使用單個等號 2 注意到等號兩邊各有乙個空格 這是unix shell的要求 3 注意到 test x最後的x,這是特意安排的,因為當 test為空的時候,上面的表示式就變成了x testx,顯然是不相等...

shell 中的if語句

1 2 3 4 if a a 空格用 標示 then echo a a fi 最近幾天寫指令碼,遇到if語句時總是吃不準。這次總結一下。使用if語句有2中方式,一種是使用test命令另一種是使用 其中後者比較常用。方法一,使用test命令,這個命令返回乙個boolean值。1 test e data...

shell中的if語句

語法格式 if command then commands fi其中的command包含如下 shell command 任何shell命令,如果shell命令返回0,代表true,否則,代表false。並且多個command可以同時作為if的判斷條件,即可以寫為 if command1 comma...