【Linux】【Shell直譯器使用小結】
阿新 • • 發佈:2018-11-14
- 定義:一種終端直譯器,可以作為使用者與作業系統內部通訊的媒介,支援變數、引數、迴圈、分支等功能特性
- Shell指令碼命令的工作方式:
- 互動式(interactive):使用者輸入一條指令就立即執行;// 例如,在命令列視窗輸入 pwd 命令,該命令就被執行並顯示當前絕對路徑;
- 批處理式(batch):使用者事先編寫一個Shell指令碼,Shell指令碼會一次性執行指令碼中諸多命令 // Shell指令碼檔案一般以.sh 為字尾名,以區別其它普通檔案;
- Shell指令碼檔案主要包括以下三個部分:
- 第一行指令碼宣告,告訴系統使用哪種Shell直譯器執行該指令碼
- 第二行指令碼註釋,對指令碼的介紹
- 後面是可執行語句
- 第一行指令碼宣告,告訴系統使用哪種Shell直譯器執行該指令碼
- Shell指令碼執行示例(123.sh 是指令碼名稱,左邊是指令碼內容 右邊在終端執行):
- Shell指令碼進階知識:
-
- 接收引數: $0表示指令碼名稱,$*所有引數值, $?顯示上一次命令執行的返回值, $k 對應第k個位置上的引數值; 引數是在執行指令碼的時候給出 如 "bash 123.sh one two three" 該123.sh指令碼執行時會接收到3個引數,引數值分別為 one two three 在指令碼中可以通過"$k"使用相應的引數值;
- 測試語句: 格式 [ 條件表示式 ] 注意條件表示式左右兩邊各應有1個空格:包括檔案測試語句,邏輯測試語句,整數值比較語句,檔案測試語句 例如:
- 接收引數: $0表示指令碼名稱,$*所有引數值, $?顯示上一次命令執行的返回值, $k 對應第k個位置上的引數值; 引數是在執行指令碼的時候給出 如 "bash 123.sh one two three" 該123.sh指令碼執行時會接收到3個引數,引數值分別為 one two three 在指令碼中可以通過"$k"使用相應的引數值;
3. 流程控制語句(語法)
-
-
-
- if語句: for語句:for 變數名 in 取值列表 do 命令序列 done
- 單分支: if 條件測試語句 then 命令序列 fi
- 雙分支: if 條件測試操作 then 命令序列1 else 命令序列2 fi
- 多分支: if 條件測試操作1 then 命令序列1 elif 條件測試操作2 命令序列2 else 命令序列3 fi
- while語句: while 條件測試操作 do 命令序列 done
- case語句: case 變數值 in 模式1 命令序列1) ;; 模式2) 命令序列2 ;; …… *) 預設命令序列 esac
- if語句: for語句:for 變數名 in 取值列表 do 命令序列 done
-
-
- 計劃任務服務程式:
- 可以用at命令在指定日期執行某些指令 如在命令列輸入“at 20:00 11/14/2018”, 然後再後面的語句輸入“python 123.py”,再按“Ctrl+D”鍵結束編寫計劃任務; 系統會自動在2018年11月14日20:00 執行“python 123.py”命令
- 參考書籍 《Linux就該這麼學》
- 轉載請註明出處