四、重定向與管道操作
五、read使用語法:
六、shell變數的作用,型別
七、shell變數賦值
八、linux中的運算
九、特殊的shell變數
什麼是shell指令碼?簡單來說,只要將平時使用的各種linux命令按順序儲存到乙個文字檔案中,然後新增可執行許可權,這個檔案就成了乙個shell指令碼。
sh first.sh(不需要執行許可權也可以操作)
./ first.sh(需要執行許可權來操作)
source first.sh(不需要執行許可權可以操作)
標準輸入,輸出和標準錯誤預設使用鍵盤和顯示器作為關聯的裝置,與作業系統進行互動,完成最基本的輸入,輸出操作,即從鍵盤接收使用者輸入的各種命令字串,輸入控制資訊,並將結果輸出到螢幕上;如果是命令執行出錯,也會將錯誤反饋到螢幕上。
在實際的linux系統維護中,可以改變輸入,輸出的內容的方向,而不使用預設的標準輸入,輸出裝置,這種操作稱為重定向
型別操作符
用途重定向輸入
<
從指定的檔案讀取資料,而不是從鍵盤輸入
重定向輸出
>
>>
將輸出結果儲存到指定的檔案(覆蓋原有的內容)
將輸出結果追加到指定的檔案尾部
標準錯誤輸出
2>
2>>
將錯誤資訊儲存到指定的檔案(覆蓋原有的內容)
將錯誤資訊追加到指定檔案中
混合輸出
&>
2>&1
將標準輸出,標準錯誤的內容儲存到同乙個檔案中
read (選項) (引數)
選項:
變數的型別
定義乙個新的變數變數名以字母或下劃線開頭,區分大小寫,建議全大寫
常見的環境變數
唯讀變數
位置變數
從鍵盤輸入內容為變數賦值
設定變數的作用範圍
求兩個數+、-、*、/、%的三種方法
expr 1 + 2
echo $((1+2))
echo $[3+4]
注:乘法在直接使用過程中是需要*的,因為*是shell正規表示式中的特殊字元,所以需要轉義字元\才能表達真實含義,但是在(())和【】中不需要轉義字元
在shell中,$ @和$ *都表示命令行所有引數(不包含$ 0),但是$ *將命令列的所有引數看成乙個整體,而$ @則區分各個引數
Shell程式設計規範與變數
shell的作用 編寫第乙個shell指令碼 重定向與管道操作 shell變數的作用 型別 自定義變數 特殊的shell變數 shell指令碼就是將要執行的命令按順序儲存到乙個文字檔案,並給該檔案可執行許可權,方便一次性執行的乙個程式檔案。主要是方便管理員進行設定或管理,可結合各種shell控制語句...
Shell程式設計規範與變數
shell指令碼的概念 將執行的命令按順序儲存到乙個文字檔案 給該檔案可執行許可權 可結合各種shell空值語句已完成更複雜的操作 shell指令碼應用場景 重複性操作 互動性任務 批量事務處理 服務執行狀態監控 定時任務執行 什麼是 shell指令碼 呢?簡單的說,只要將平時使用的各種linux命...
Shell程式設計規範與變數
shell指令碼的概念 將要執行的命令按順序儲存到乙個文字檔案 給該檔案可執行許可權 可結合各自shell控制語句以完成更複雜的操作 shell指令碼應用場景 重複性操作 互動性任務 批量事務處理 指令碼執行狀態監測 定時任務執行 簡單來說,將平時使用的各種linux命令按順序儲存到乙個文字檔案,新...