shell條件測試和流程控制

2022-07-13 09:12:10 字數 1675 閱讀 7434

一、條件測試操作

1、test

用途:測試特定的表示式是否成立,當條件成立時,命令執行後的返回值為0,否則為其他數值

格式:test 表示式

2、常見的測試型別

①測試檔案狀態

格式:[ 操作符 檔案或目錄 ]

常用的操作符:

-d:測試是否為目錄

-f:測試是否為檔案

-e:測試檔案是否存在

-r:測試當前使用者是否有讀取的許可權

-w:測試當前使用者是否有寫的許可權

-x:測試當前使用者是否有執行的許可權

②字串比較

格式:[ 字串1 = 字串2 ]

[ 字串1 != 字串2 ]

[ -z 字串1 ]

常用的測試操作符:

=:字串內容相等

!=:字串內容不相等

-z:字串內容為空時,返回true,否則返回false

③整數值比較

格式:[ 整數1 操作符 整數2 ]

常用的測試操作符:

-eq:等於

-ne:不等於

-lt:小於

-le:小於等於

-gt:大於

-ge:大於等於

④邏輯測試

格式:[ 表示式1 ] 操作符 [ 表示式2 ]

常用的測試操作符:

-a:邏輯與,而且的意思,前後兩個表示式都成立的時候,返回真,否則返回假

-o:邏輯或,或者的意思,前後兩個表示式只要有乙個成立,返回真,否則返回假

!:邏輯否,當指定的條件不成立時,返回真

二、if條件語句

1、單分支

2、多分支

三、case條件語句

四、while迴圈語句

五、for迴圈語句

六、continue跳過本次迴圈

七、break終止迴圈

八、shift遷移語句

用於傳遞位置變數,將$1~$9依次向左傳遞

1、若當前指令碼程式獲得的位置變數如下:

$1=file1 $2=file2 $3=file3 $4=file4

2、執行一次shift命令,各位置變數如下:

$1=file2 $2=file3 $3=file4

3、再次執行shift命令,各位置變數如下:

第七節 Shell條件測試和流程控制

test命令 常見的測試型別 常用的測試操作符 bin bash test.sh 注意 與條件判斷語句中間必須有空格 if d www wwwshell file1 then echo file1 is exists else echo file1 is not exists mkdir file1...

Shell流程控制

case迴圈 if condition condition then statements if true 1 elif condition condition then statements if true 2 else statements if all else fails fi注 方括號中的...

Shell 流程控制

shell的流程控制不可為空,如果else分支沒有語句執行,就不要寫這個else。if 語句語法格式 if condition then command1 command2 commandn fi寫成一行 適用於終端命令提示符 if ps ef grep c ssh gt 1 then echo t...