目錄
一、編寫簡單的腳本
shell腳本名稱可以任意,建議sh結尾,表示是腳本文件
腳本組成元素
第一行腳本聲明(#!):聲明系統使用哪種shell解釋器執行腳本
第二行注釋信息(#)
之后的為:執行語句
二、接收用戶參數
$0:當前腳本程序名稱
$#:對應的是總共幾個參數
$*:所有位置的參數值
$?:顯示上一次命令的執行返回值,0成功,其他為失敗
$1,$2…:對應第N個位置的參數值
三、判斷用戶參數
shell 條件測試語句包括:
文件測試語句
格式:[ 操作符 文件或目錄 ]
操作符 | 作用 |
---|---|
-d | 判斷文件是否為目錄類型 |
-e | 判斷文件是否存在 |
-f | 判斷是否為一般文件 |
-r | 判斷當前用戶是否有權限讀取 |
-w | 判斷當前用戶是否有權限寫入 |
-x | 判斷當前用戶是否有權限執行 |
邏輯測試
格式:[ 表達式1 ] 操作符 [ 表達式2 ]
操作符 | 作用 |
---|---|
&& | 邏輯與,而且的意思 |
-e | 邏輯或,或者的意思 |
-f | 邏輯否 |
整數值比較
格式: [ 整數1 操作符 整數2 ]
操作符 | 作用 |
---|---|
-eq | 判斷是否相等 |
-ne | 判斷是否不相等 |
-gt | 判斷是否大於 |
-lt | 判斷是否小於 |
-lt | 判斷是否小於或等於 |
-ge | 判斷是否大於或等於 |
字符串比較符
格式:[ 字符串1 操作符 字符串2 ]
操作符 | 作用 |
---|---|
= | 比較字符串內容是否相同 |
!= | 比較字符串內容是否不相同 |
-z | 判斷字符串內容是否為空 |
四、條件測試語句
單分支結構
雙分支結構
多分支結構
例子:
五、for 條件語句
例子:
六、While 條件語句
例子:
七、case條件語句
例子:
八、 計划任務服務
一次性任務
先來講一次性任務吧 , 它是由 atd 服務/進程來實現的, 計划的管理操作是" at" 命令, 具體的可用參數如下:
命令 | 作用 |
---|---|
at<時間> | 安排一次性任務 |
atq或at-l | 查看任務列表 |
at-c 序號 | 預覽任務和設置環境 |
atrm 序號 | 刪除任務 |
例子:
長期計划
例子:
在etc目錄下,執行crontab -e