您好,登錄后才能下訂單哦!
隨著Linux系統在企業中的應用越來越多,服務器的自動化管理也越來越重要。一些復雜的維護工作中,一個恰到好處的Shell腳本,可以批量處理、自動化的完成一系列維護任務,從而減輕管理員的負擔。
將要執行的命令按順序保存到一個文本文件
給該文件可執行權限,便可運行
可結合各種Shell控制語句以完成更復雜的操作
重復性操作
批量事務處理
自動化運維
服務運行狀態監控
定時任務執行
Shell相當于是”翻譯官”,介于系統內核和用戶間,負責解釋命令行。
登錄后默認使用的shell程序,一般為/bin/bash
不同shell的內部指令,運行環境等會有所區別
編寫腳本代碼
使用vim文本編輯器
每行一條Linux命令,按執行順序依次編寫
[root@localhost ~]# vim first.sh 編寫第一個腳本
#!/bin/bash
#this is fiest script
cd /boot
pwd
ls -lh vml
使腳本具有可執行的屬性
[root@localhost ~]# chmod +x first.sh
[root@localhost ~]# ./first.sh
(必須有執行權限,不改變目錄位置)
[root@localhost ~]# . first.sh
(不需要執行權限,但是改變目錄位置)
[root@localhost ~]# source first.sh
(不需要執行權限,但是改變目錄位置)
[root@localhost ~]# sh first.sh
(無需執行權限也不改變目錄位置)
腳本聲明
注釋信息
可執行語句
#!/bin/bash
#this is fiest script
cd /boot
echo "當前所在路徑"
pwd
echo "以vml開頭的文件信息"
ls -lh vml
交互式硬件設備
標準輸入:從該設備接收用戶輸入的數據
標準輸出:通過該設備向用戶輸出數據
標準錯誤:通過該設備報告執行出錯信息
重定向操作
**管道操作符號”|”
awk 縱向識別
-F 分割符
(以冒號分隔,-F后就跟冒號)
Print 輸出
$1 調用第一個變量
$7 調用第七個變量
變量的作用
為靈活管理Linux系統提供特定參數,有兩層意思
變量名:使用固定的名稱,由系統預設或用戶定義。
變量值:能夠根據用戶設置、系統環境的變化而變化
變量的類型
自定義變量:由用戶自己定義、修改和使用
環境變量:由系統維護,用于設置工作環境
位置變量:通過命令行給腳本程序傳遞參數
預定義變量:Bash中內置的一類變量,不能直接修改
定義一個新的變量
變量名以字母或下劃線開頭,區分大小寫,建議全大寫
變量名=變量值
查看變量的值
echo $變量名
賦值時使用引號
雙引號:允許通過$符號引用其他變量值
單引號:禁止引用其他變量值,$視為普通字符
反撇號(Esc下面的鍵):命令替換,提取命令進行后的輸出結果
從鍵盤輸入內容為變量賦值
read [-p "提示信息"] 變量名
設置變量的作用范圍
格式1:export 變量名
格式1:export 變量名=變量值
(兩種格式可以混和使用)
整數變量的運算
expr 變量1 運算符 變量2 [ 運算符 變量3]
常用運算符
(1)加法運算:+
(2)減法運算:-
(3)乘法運算:
(4)除法運算:/
(5)求模(取余)運算:%
實例演示:計算任意兩個整數的和
#!/bin/bash
read -p "請輸入第一個整數:" num1
read -p "請輸入第二個整數:" num2
#執行加法運算
sum=`expr $num1 + $num2`
echo "求和數為:$sum"
環境變量
由系統提前創建,用來設置用戶的工作環境
配置文件: /etc/profile、~/.bashprofile
常見的環境變量
PWD 、 PATH、 USER、 HOME、 SHELL
位置變量
表示為$n,n為1~9之間的數字
#!/bin/bash
echo "第一個位置變量的值:$1"
echo "第二個位置變量的值:$2"
sum=`expr $1 + $2`
echo "求和數為:$sum"
預定義變量
$#:命令行中位置變量的個數
$*:所有位置變量的內容
$?:上一條命令執行后返回的狀態,當返回值為0時代表執行正常,非0只表示執行出錯
$0:當前執行的進程/程序名
#!/bin/bash
echo "第一個位置變量的值:$1"
echo "第二個位置變量的值:$2"
sum=`expr $1 + $2`
echo "求和數為:$sum"
echo "腳本名稱:$0"
echo "詳細數字:$*"
echo "參數的個數:$#"
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。