編寫Shell管理腳本
寫Shell管理腳本(二)
一、if語句
1,條件測試
test 測試表達式是否成立,成立結果爲0
①,測試文件狀態
-d 是否爲目錄
-e 目錄或文件是否存在
-f 是否爲文件
-r 當前用戶是否有權限讀取
-w 當前用戶是否有權限寫入
-x 當前用戶是否可執行該文件
-L 是否爲符號連接文件
②,數值比較
-eq 等於
-ne 不等於
-gt 大於
-lt 小於
-le 小於或等於
-ge 大於或等於
Equal 等於
Not Equal 不等於
Greater Than 大於
Lesser Than 小於
Lesser or Equal 小於或等於
Greater or Equal大於或等於
③,字符串比較
= 內容相同
!= 內容不同,! 號表示相反的意思
-z 內容爲空
④,條件判斷
-a或&& 邏輯與
前後表達式都成立時整個測試結果才爲真,否則爲假
-o或|| 邏輯或
操作符兩邊至少一個爲真時,結果爲真,否則結果爲假
! 邏輯否
當指定的條件不成立時,返回結果爲真
2,if語句格式
①,單分支
if 條件測試命令
then 命令序列
fi
②,雙分支
if 條件測試命令
then 命令序列1
else 命令序列2
fi
③,多分支
if 條件測試命令1 ; then
命令序列1
elif 條件測試命令2 ; then
命令序列2
elif ...
else
命令序列n
fi
二、for語句(根據變量的不同取值,重複執行一組命令操作)
1,語法
for 變量名 in 取值列表
do
命令序列
done
三、while語句(重複測試指定的條件,只要條件成立則反覆執行對應的命令操作)
1,語法
while 命令或表達式
do
命令列表
done
四、其他控制語句
1,case多分支
case 變量值 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
……
* )
默認執行的命令序列
esac
2,until循環語句
until 條件測試命令
do
命令序列
done
3,shift遷移語句
遷移位置變量,將 $1~$9 依次向左傳遞
4,break語句
在for、while、until等循環語句中,用於跳出當前所在的循環體,執行循環體後的語5,continue
在for、while、until等循環語句中,用於跳過循環體內餘下的語句,重新判斷條件以便執行下一次循環句
五、Shell函數應用
1,語法
function 函數名 {
命令序列
}
或者
函數名() {
命令序列
}
2,調用函數
函數名
3,向函數內傳遞參數
函數名 參數1 參數2 ...
一、if語句
1,條件測試
test 測試表達式是否成立,成立結果爲0
①,測試文件狀態
-d 是否爲目錄
-e 目錄或文件是否存在
-f 是否爲文件
-r 當前用戶是否有權限讀取
-w 當前用戶是否有權限寫入
-x 當前用戶是否可執行該文件
-L 是否爲符號連接文件
②,數值比較
-eq 等於
-ne 不等於
-gt 大於
-lt 小於
-le 小於或等於
-ge 大於或等於
Equal 等於
Not Equal 不等於
Greater Than 大於
Lesser Than 小於
Lesser or Equal 小於或等於
Greater or Equal大於或等於
③,字符串比較
= 內容相同
!= 內容不同,! 號表示相反的意思
-z 內容爲空
④,條件判斷
-a或&& 邏輯與
前後表達式都成立時整個測試結果才爲真,否則爲假
-o或|| 邏輯或
操作符兩邊至少一個爲真時,結果爲真,否則結果爲假
! 邏輯否
當指定的條件不成立時,返回結果爲真
2,if語句格式
①,單分支
if 條件測試命令
then 命令序列
fi
②,雙分支
if 條件測試命令
then 命令序列1
else 命令序列2
fi
③,多分支
if 條件測試命令1 ; then
命令序列1
elif 條件測試命令2 ; then
命令序列2
elif ...
else
命令序列n
fi
二、for語句(根據變量的不同取值,重複執行一組命令操作)
1,語法
for 變量名 in 取值列表
do
命令序列
done
三、while語句(重複測試指定的條件,只要條件成立則反覆執行對應的命令操作)
1,語法
while 命令或表達式
do
命令列表
done
四、其他控制語句
1,case多分支
case 變量值 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
……
* )
默認執行的命令序列
esac
2,until循環語句
until 條件測試命令
do
命令序列
done
3,shift遷移語句
遷移位置變量,將 $1~$9 依次向左傳遞
4,break語句
在for、while、until等循環語句中,用於跳出當前所在的循環體,執行循環體後的語5,continue
在for、while、until等循環語句中,用於跳過循環體內餘下的語句,重新判斷條件以便執行下一次循環句
五、Shell函數應用
1,語法
function 函數名 {
命令序列
}
或者
函數名() {
命令序列
}
2,調用函數
函數名
3,向函數內傳遞參數
函數名 參數1 參數2 ...
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.