溫馨提示×

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

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

Shell腳本編程——基礎(chǔ)篇

發(fā)布時(shí)間:2020-04-09 19:22:40 來源:網(wǎng)絡(luò) 閱讀:489 作者:wx5d3faba330584 欄目:云計(jì)算

Shell腳本概念

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

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

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

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

1、腳本聲明
2、可執(zhí)行語句
3、注釋文字

Shell的作用——命令解釋器,“翻譯官”
Shell腳本編程——基礎(chǔ)篇

執(zhí)行腳本文件方法大全

方法一:腳本文件路徑(絕對(duì)路徑和相對(duì)路徑)
Shell腳本編程——基礎(chǔ)篇
方法二:sh腳本文件路徑
Shell腳本編程——基礎(chǔ)篇
方法三:source腳本文件路徑
Shell腳本編程——基礎(chǔ)篇
拓展方法四:

[root@localhost ~]#.  first.sh

小結(jié):
1、除了./first.sh需分配執(zhí)行權(quán)限才可執(zhí)行外,其余執(zhí)行文件命令不需分配,可直接執(zhí)行;
2.sh.first.sh與./first.sh執(zhí)行文件后,不會(huì)改變當(dāng)前所在目錄位置

交互式硬件設(shè)備

標(biāo)準(zhǔn)輸入:從該設(shè)備接收用戶輸入的數(shù)據(jù)
標(biāo)準(zhǔn)輸出:通過該設(shè)備向用戶輸出數(shù)據(jù)
標(biāo)準(zhǔn)錯(cuò)誤:通過該設(shè)備報(bào)告執(zhí)行出錯(cuò)信息
Shell腳本編程——基礎(chǔ)篇
1、重定向操作
Shell腳本編程——基礎(chǔ)篇
2、管道操作符號(hào)“|”
將左側(cè)的命令輸出結(jié)果,作為右側(cè)命令的處理對(duì)象
Shell腳本編程——基礎(chǔ)篇
3、awk:縱向識(shí)別
Shell腳本編程——基礎(chǔ)篇
圖中命令可轉(zhuǎn)換:

awk -F:  ‘{print $1,$7}’=awk -F":"  ‘{print $1,$7}’

變量的作用

1、為靈活管理Linux系統(tǒng)提供特定參數(shù),有兩層意思
變量名:使用固定的名稱,由系統(tǒng)預(yù)設(shè)或用戶定義
變量值:能夠根據(jù)用戶設(shè)置、系統(tǒng)環(huán)境的變化而變化

變量的類型

1、自定義變量:由用戶自己定義、修改和使用
2、環(huán)境變量:由系統(tǒng)維護(hù),用于設(shè)置工作環(huán)境
3、位置變量:通過命令行給腳本程序傳遞參數(shù)
4、預(yù)定義變量:Bash中內(nèi)置的一類變量,不能直接修改

定義一個(gè)新的變量
變量名以字母或下劃線開頭,區(qū)分大小寫,建議全大寫
Shell腳本編程——基礎(chǔ)篇
查看變量名
Shell腳本編程——基礎(chǔ)篇

賦值時(shí)使用引號(hào)
單引號(hào):禁止引用其他變量值,$視為普通字符
雙引號(hào):允許通過$符號(hào)引用其他變量值
反撇號(hào):命令替換,提取命令執(zhí)行后的輸出結(jié)果
從鍵盤輸入的內(nèi)容為變量賦值
Shell腳本編程——基礎(chǔ)篇

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

兩種格式可以混合使用
Shell腳本編程——基礎(chǔ)篇
Shell腳本編程——基礎(chǔ)篇
整數(shù)變量的運(yùn)算
Shell腳本編程——基礎(chǔ)篇

常用的運(yùn)算符

加法:+
減法:-
乘法:\ *
除法:/
求模(取余):%

環(huán)境變量

1、由系統(tǒng)提前創(chuàng)建,用來設(shè)置用戶的工作環(huán)境
配置文件:/etc/profile、~/.bash_profile
2、創(chuàng)建的環(huán)境變量
PWD、PATH
USER、HOME、SHELL

位置變量

1、表示為$n,n為1~9之間的數(shù)字

[root@localhost ~]# ./myprog.sh one two three four five six

./myprog.sh:$0(當(dāng)前執(zhí)行的進(jìn)程名)
one:$1(第1個(gè)位置參數(shù))
two:$2(第2個(gè)位置參數(shù))
six:$6(第6個(gè)位置參數(shù))

預(yù)定義變量

●$#:命令行中位置變量的個(gè)數(shù)
●$*:所有位置變量的內(nèi)容
●$?:上一條命令 執(zhí)行后返回的狀態(tài),當(dāng)返回狀態(tài)值為0時(shí)表示執(zhí)
行正常,非0值表示執(zhí)行異?;虺鲥e(cuò)
●$0:當(dāng)前執(zhí)行的進(jìn)程/程序名
Shell腳本編程——基礎(chǔ)篇

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

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

AI