目錄
一、編寫簡單的腳本
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

