簡介:
隨著linux系統在企業中的應用越來越多,伺服器的自動化管理也變得越來越重要。在linux伺服器的自動化維護工作中,除了計畫任務的設定以外,shell指令碼的應用也是非常重要的一部分。
本章將主要學習shell指令碼基礎、變數使用等知識,要求學會編寫簡單的指令碼。
shell指令碼的基礎
一,shell指令碼的作用系統shell直譯器的作用
1,shell指令碼的作用
自動化運維
批量化重複操作可以編寫指令碼結合計畫任務自動週期執行
2,shell指令碼的特點
減輕管理員工作量
提高處理文字檔案的速度
避免配置出錯
3,linux系統shell的作用
linux系統模式使用的bash
shell負責接收使用者輸入的指令,編譯提交到cpu進行執行
計算機將指令執行後給使用者反饋執行結果
二,shell指令碼的結構
1,宣告
指令碼通過那個直譯器執行
linux系統預設使用的是bash
2,指令碼描述
解釋當前指令碼的作用和功能
3,指令碼作者練習方式
指令碼故障方便聯絡寫指令碼的工程師
4,指令碼執行的命令
通過指令碼命令執行處理資料,實現自動化運維
三,編寫簡單的指令碼
1,使用指令碼顯示根目錄資料
#!/bin/bash //宣告
#test script //描述
#@qq.com //指令碼作者****
echo 「切換到根目錄:」
cd /
echo 「顯示根目錄資料:」
ls2、執行指令碼
[root@centos01~]# sh test.sh 不需要新增執行權,直接執行
[root@centos01~]# ./test.sh 需要交新增指令碼許可權
[root@centos01~]# source test.sh 不需要新增執行許可權,直接執行,進入到指令碼變數目錄
四、重定向和管道符
1,基本輸入輸出
標準輸出:檔案號0,接收或者讀取使用者輸入的資料,用《表示
標準的輸出:檔案號1,將資料顯示在螢幕或者檔案中,用》表示,>>表示追加輸出
錯誤輸出:檔案號2,錯誤輸出顯示在螢幕或者檔案中,用2>表示
混合輸出:對或者錯都可以顯示或者輸出到檔案中先後殺死,用&>表示
2,管道符
把前乙個命令執行的結果,當成下乙個命令處理的物件
3,輸出的使用
[root@centos01~]# echo 「shell world」 > ./1.txt //輸出到檔案
[root@centos01~]# echo 「shell world」 //輸出到螢幕
4,將錯誤輸出資料,輸入到1.txt檔案
5、混合輸出顯示到1.txt
[root@centos01~]# echo 「aa」 &> 1.txt
6、管道符的應用
變數
一,變數的型別和變數的作用
1,變數的組成
變數名和變數值組成
2,變數的作用
方便統用變數中的引數
別名重複編寫內容
二,變數的型別
1,自定義變數
管理員手動建立
根據指令碼環境需要建立
2,環境變數
維護系統使用
不需要管理員手動建立
3,位置變數
命令給指令碼傳遞引數使用
4,預定義變數
bash預定義變數屬於特殊變數
使用者不能修改預定義變數
三,配置變數
1、定義變數名為a和b,並呼叫變數
四,變數賦值常用的符號
1,雙引號
允許引用其他的變數值
2,單引號
禁止引用其他變數
3,反撇
將命令執行的結果賦值給變數
4,read -p
接收使用者輸入內容複製給變數使用
5,使用雙引號引用變數
6、使用單引號禁止引用變數
7、使用反撇將命令結果賦值變數
8、使用read -p將使用者輸入的內容賦值給test變數名
五,變數的運算
1,變數的運算子
+:加-:減
/:除*:乘
2,加法
3、減法
4、乘除法
六,特殊變數
1,環境變數
系統建立
2,位置變數
提供9個位置
3,預定義變數
$#:命令列中位置引數
$*:所有位置引數
$?:判斷指令碼執行狀態0成功,非0失敗
$0:指令碼程序名字
4,特殊變數的基本使用
Shell指令碼應用
shell script shell指令碼與windows dos下的批處理相似,也就是用各類命令預先放入到乙個檔案中,方便一次性執行的乙個程式檔案,主要是方便管理員進行設定或者管理用的。但是它比windows下的批處理更強大,比用其他程式設計程式編輯的程式效率更高,它使用了linux unix下的...
shell指令碼基本應用
chmod x hello.sh 給檔案增加執行許可權 hello.sh 執行指令碼 sh hello.sh 以sh執行指令碼 bash hello.sh 以bash執行指令碼 source hello.sh 以source執行指令碼,該指令碼檔案可以無 執行許可權 if有三種表示式 1.if fi...
shell指令碼應用(四)
shell環境根據命令執行後的返回狀態值 來判斷是否執行成功,當返回值為0是表示成功,否則 非0值 表示失敗或者異常。使用專門的測試工具 test命令,可以對特定條件進行測試,並根據返回值來判斷條件是否成立 返回值為0時表示條件成立 使用test測試命令時,包括以下兩種形式。test 條件表示式 或...