Shell腳本的基本概念
- 將要執行的命令按照順序保存到一個文本文件
- 給該文件可執行權限,便可運行
- 可結合各種Shell控制語句以完成更復雜的操作
Shell腳本應用的場景
- 重複性操作
- 批量事務處理
- 自動化運維
- 服務運行狀態監控
- 定時任務執行
- …
Shell的作用——命令解釋器,充當“翻譯”的角色
- 介於系統內核與用戶之間,負責解釋命令行
用戶的登錄Shell
- 登錄後默認使用的Shell程序,一般在 /bin/bash
- 不同Shell的內部指令、運行環境等會有所區別
編寫Shell腳本
編寫腳本代碼
- 使用vi文本編輯器
- 每行一條Linux命令,按執行順序依次編寫
例如
[root@localhost ~]# vi first.sh
cd /boot/ 進入boot目錄
pwd 查詢絕對路徑
ls -lh vml* 長格式顯示vml*開頭的所有文件
賦予可執行權限
- 使腳本具有可執行屬性
執行腳本文件
./ 腳本文件路徑 (必須有"x"執行權限)
sh 腳本文件路徑
source 腳本文件路徑
重定向與管道操作
交互式硬件設備
- 標準輸入:從該設備接收用戶輸入的數據
- 標準輸出:通過該設備向用戶輸出數據
- 標準錯誤:通過該設備報告執行出錯信息
重定向操作
管道操作符號"|"
將左側的命令輸出結果,作爲右側命令的處理對象
格式
命令1 | 命令2
Shell變量的作用、類型
變量的作用
變量名:使用固定的名稱,由系統預設或用戶自定義
變量值:能夠根據用戶設置、系統環境的變化而變化
變量的4個類型
自定義變量:由用戶自己定義、修改和使用
定義一個新的變量
變量名是以字母或下劃線爲開頭,區分大小寫,建議全部大寫
變量名=變量值
查看變量的值
echo $變量名
環境變量:由系統維護,用於設置工作環境
賦值時使用引號
雙引號:允許通過$ 符號引用其他變量值
單引號:禁止引用其他變量值,$視爲普通字符
反撇號:命令替換,提取命令執行後的輸出結果
從鍵盤輸入內容爲變量賦值
read [-p "提示信息"] 變量名
設置變量的作用範圍
格式1:export 變量名...
格式2:export 變量名=變量值
整數變量的運算
expr 變量1 運算符 變量 [運算符 變量3]...
常用運算符
加:+
減:-
乘:\*
除:/
餘:%
環境變量
由系統提前創建,用來設置用戶的工作環境
配置文件
/etc/profile
~/.bash_profile
常見的環境變量
PWD、PATH
USER、SHELL、HOME
位置變量:通過命令行給腳本程序傳遞參數
表示爲$n,n爲1~9之間的數字
預定義變量:Bash中內置的一類變量,不能直接修改
$#:命令行中位置變量的個數
$*:所有位置變量的內容
$?:上一條命令執行後返回的狀態,當返回狀態值爲0時表示執行正常,非0值表示執行異常或錯
$0:當前執行的進程/進程名