溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Shell腳本規(guī)范與變量

發(fā)布時間:2020-07-14 16:37:23 來源:網(wǎng)絡(luò) 閱讀:499 作者:caozhengtao1213 欄目:系統(tǒng)運(yùn)維

Shell腳本概述

隨著Linux系統(tǒng)在企業(yè)中的應(yīng)用越來越多,服務(wù)器的自動化管理也越來越重要。一些復(fù)雜的維護(hù)工作中,一個恰到好處的Shell腳本,可以批量處理、自動化的完成一系列維護(hù)任務(wù),從而減輕管理員的負(fù)擔(dān)。


Shell腳本的概念

將要執(zhí)行的命令按順序保存到一個文本文件
給該文件可執(zhí)行權(quán)限,便可運(yùn)行
可結(jié)合各種Shell控制語句以完成更復(fù)雜的操作


Shell腳本應(yīng)用場景

重復(fù)性操作
批量事務(wù)處理
自動化運(yùn)維
服務(wù)運(yùn)行狀態(tài)監(jiān)控
定時任務(wù)執(zhí)行


SHell腳本的作用—命令解釋器

Shell相當(dāng)于是”翻譯官”,介于系統(tǒng)內(nèi)核和用戶間,負(fù)責(zé)解釋命令行。
Shell腳本規(guī)范與變量


用戶的登錄Shell

登錄后默認(rèn)使用的shell程序,一般為/bin/bash
不同shell的內(nèi)部指令,運(yùn)行環(huán)境等會有所區(qū)別
Shell腳本規(guī)范與變量
編寫腳本代碼
使用vim文本編輯器
每行一條Linux命令,按執(zhí)行順序依次編寫

[root@localhost ~]# vim first.sh 編寫第一個腳本

Shell腳本規(guī)范與變量

#!/bin/bash
#this is fiest script
cd /boot
pwd
ls -lh vml

賦予可執(zhí)行權(quán)限

使腳本具有可執(zhí)行的屬性

[root@localhost ~]# chmod +x first.sh 

執(zhí)行腳本文件

[root@localhost ~]# ./first.sh
(必須有執(zhí)行權(quán)限,不改變目錄位置)

Shell腳本規(guī)范與變量

[root@localhost ~]# . first.sh 
(不需要執(zhí)行權(quán)限,但是改變目錄位置)

Shell腳本規(guī)范與變量

[root@localhost ~]# source first.sh
(不需要執(zhí)行權(quán)限,但是改變目錄位置)

Shell腳本規(guī)范與變量

[root@localhost ~]# sh first.sh
(無需執(zhí)行權(quán)限也不改變目錄位置)

Shell腳本規(guī)范與變量


更完善的腳本構(gòu)成

腳本聲明
注釋信息
可執(zhí)行語句

#!/bin/bash
#this is fiest script
cd /boot
echo "當(dāng)前所在路徑"
pwd
echo "以vml開頭的文件信息"
ls -lh vml

Shell腳本規(guī)范與變量


重定向與管道操作

交互式硬件設(shè)備
標(biāo)準(zhǔn)輸入:從該設(shè)備接收用戶輸入的數(shù)據(jù)
標(biāo)準(zhǔn)輸出:通過該設(shè)備向用戶輸出數(shù)據(jù)
標(biāo)準(zhǔn)錯誤:通過該設(shè)備報告執(zhí)行出錯信息
Shell腳本規(guī)范與變量
重定向操作
Shell腳本規(guī)范與變量
**管道操作符號”|”
Shell腳本規(guī)范與變量

awk  縱向識別
-F   分割符 
(以冒號分隔,-F后就跟冒號)
Print 輸出
$1  調(diào)用第一個變量
$7  調(diào)用第七個變量

shell變量的作用、類型

變量的作用
為靈活管理Linux系統(tǒng)提供特定參數(shù),有兩層意思
變量名:使用固定的名稱,由系統(tǒng)預(yù)設(shè)或用戶定義。
變量值:能夠根據(jù)用戶設(shè)置、系統(tǒng)環(huán)境的變化而變化
變量的類型
自定義變量:由用戶自己定義、修改和使用
環(huán)境變量:由系統(tǒng)維護(hù),用于設(shè)置工作環(huán)境
位置變量:通過命令行給腳本程序傳遞參數(shù)
預(yù)定義變量:Bash中內(nèi)置的一類變量,不能直接修改


自定義變量

定義一個新的變量
變量名以字母或下劃線開頭,區(qū)分大小寫,建議全大寫

變量名=變量值

查看變量的值

echo $變量名

Shell腳本規(guī)范與變量
賦值時使用引號
雙引號:允許通過$符號引用其他變量值
單引號:禁止引用其他變量值,$視為普通字符
反撇號(Esc下面的鍵):命令替換,提取命令進(jìn)行后的輸出結(jié)果
Shell腳本規(guī)范與變量

從鍵盤輸入內(nèi)容為變量賦值

read [-p "提示信息"] 變量名

設(shè)置變量的作用范圍

格式1:export 變量名
格式1:export 變量名=變量值
(兩種格式可以混和使用)

Shell腳本規(guī)范與變量
整數(shù)變量的運(yùn)算

expr 變量1 運(yùn)算符 變量2 [ 運(yùn)算符 變量3]

常用運(yùn)算符
(1)加法運(yùn)算:+
(2)減法運(yùn)算:-
(3)乘法運(yùn)算:
(4)除法運(yùn)算:/
(5)求模(取余)運(yùn)算:%
實(shí)例演示:計算任意兩個整數(shù)的和

#!/bin/bash
read -p "請輸入第一個整數(shù):" num1
read -p "請輸入第二個整數(shù):" num2
#執(zhí)行加法運(yùn)算
sum=`expr $num1 + $num2`
echo "求和數(shù)為:$sum"

Shell腳本規(guī)范與變量


特殊的Shell變量

環(huán)境變量
由系統(tǒng)提前創(chuàng)建,用來設(shè)置用戶的工作環(huán)境
配置文件: /etc/profile、~/.bashprofile
常見的環(huán)境變量
PWD 、 PATH、 USER、 HOME、 SHELL
Shell腳本規(guī)范與變量
位置變量
表示為$n,n為1~9之間的數(shù)字

#!/bin/bash
echo "第一個位置變量的值:$1" 
echo "第二個位置變量的值:$2" 
sum=`expr $1 + $2`
echo "求和數(shù)為:$sum"

Shell腳本規(guī)范與變量
預(yù)定義變量
$#:命令行中位置變量的個數(shù)
$*:所有位置變量的內(nèi)容
$?:上一條命令執(zhí)行后返回的狀態(tài),當(dāng)返回值為0時代表執(zhí)行正常,非0只表示執(zhí)行出錯
$0:當(dāng)前執(zhí)行的進(jìn)程/程序名

#!/bin/bash
echo "第一個位置變量的值:$1" 
echo "第二個位置變量的值:$2" 
sum=`expr $1 + $2`
echo "求和數(shù)為:$sum"
echo "腳本名稱:$0"
echo "詳細(xì)數(shù)字:$*"
echo "參數(shù)的個數(shù):$#"

Shell腳本規(guī)范與變量

Shell腳本規(guī)范與變量

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI