SHELL編程規(guī)范及變量-創(chuàng)新互聯(lián)

Shell編程規(guī)范及變量

Sheel腳本概述

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

網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及定制網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站制作,高端網(wǎng)頁(yè)制作,對(duì)PVC花箱等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計(jì),網(wǎng)站優(yōu)化推廣哪家好,專業(yè)seo優(yōu)化排名優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。

Shell腳本應(yīng)運(yùn)場(chǎng)景

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

Shell的作用——命令解釋器,“翻譯官”

介于系統(tǒng)內(nèi)核與用戶之間,,負(fù)責(zé)解釋命令行
SHELL 編程規(guī)范及變量

用戶的登錄Shell

登錄后默認(rèn)使用的Shell程序,一般為 /bin/bash
不同的Shell的內(nèi)部指令,運(yùn)行環(huán)境等會(huì)有所區(qū)別

編寫腳本代碼

使用vi文本編輯器
每行一條Linux命令,按執(zhí)行順序依次編寫
SHELL 編程規(guī)范及變量

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

使腳本具有可執(zhí)行權(quán)限

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

執(zhí)行腳本文件

方法一:腳本文件路徑(絕對(duì)路徑與相對(duì)路徑)

[root@localhost~]# ./first.sh

需要執(zhí)行權(quán)限,執(zhí)行完成后也不會(huì)改變所在位置
方法二:sh 腳本文件路徑

[root@localhost~]# sh /first.sh

不需要權(quán)限能執(zhí)行但不會(huì)改變所在位置
方法三:source 腳本文件路徑

[root@localhost~]# source /first.sh

不需要權(quán)限能執(zhí)行但會(huì)改變所在目錄位置
方法四:“.”的使用

[root@localhost~]# . first.sh

執(zhí)行也能執(zhí)行成功,不需要X執(zhí)行權(quán)限,改變所在位置

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

(1)腳本聲明

#!/bin/bash

(2)注釋信息

echo "當(dāng)前的目錄位于"

(3)可執(zhí)行語(yǔ)句

ls -ln vml*

如下圖:
SHELL 編程規(guī)范及變量

編程的交互式硬件設(shè)備

(1)標(biāo)準(zhǔn)輸入:從該設(shè)備接收用戶輸入的數(shù)據(jù) /dev/stdin 0 鍵盤
(2)標(biāo)準(zhǔn)輸出:通過(guò)該設(shè)備向用戶輸出數(shù)據(jù) /dev/stdout 1 顯示器
(3)標(biāo)準(zhǔn)錯(cuò)誤:通過(guò)該設(shè)備報(bào)告執(zhí)行出錯(cuò)誤信息 /dev/stderr 2 顯示器
SHELL 編程規(guī)范及變量

重定向與管道操作

重定向操作

類型 操作符 用途
重定向輸入<從指定的文件讀取數(shù)據(jù),而不是從鍵盤輸入
重定向輸出>將輸出結(jié)果保存到指定文件夾(覆蓋原有內(nèi)容)
重定向輸出>>將輸出信息追加到指定的文件
標(biāo)準(zhǔn)錯(cuò)誤輸出2>將錯(cuò)誤信息保存到指定的文件(覆蓋原有內(nèi)容)
標(biāo)準(zhǔn)錯(cuò)誤輸出2>>將錯(cuò)誤信息追加到指定的文件中
混合輸出&>將標(biāo)準(zhǔn)輸出、標(biāo)準(zhǔn)錯(cuò)誤的內(nèi)容保存到同一個(gè)文件中

管道操作符號(hào)

"|"
將左側(cè)的命令輸出結(jié)果。作為右側(cè)命令的處理對(duì)象

cmd1 | cmd2 [... | cmdn]

Shell 變量的作用、類型

變量的作用

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

變量的類型

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

自定義變量

定義一個(gè)新的變量

變量名以字母或下劃線開(kāi)頭,區(qū)分大小寫,建議全大寫

變量名 = 變量值
查看變量的值## 標(biāo)題
echo $變量名

SHELL 編程規(guī)范及變量

賦值時(shí)使用引號(hào)
雙引號(hào):允許通過(guò)$符號(hào)引用其他變量值
單引號(hào):禁止引用其他變量值,$視為普通字符
反撇號(hào)(`):命令替換,提取命令進(jìn)行后的輸出結(jié)果
從鍵盤輸入內(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)算:%

特殊的Shell變量

環(huán)境變量

由系統(tǒng)提前創(chuàng)建,用來(lái)設(shè)置用戶的工作環(huán)境
配置文件: /etc/profile、~/.bash_profile

常見(jiàn)的環(huán)境變量

PWD 、 PATH、 USER、 HOME、 SHELL

位置變量

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

[root@localhost ~]# ./myprog.sh one two three four five six
one :$1,第一個(gè)位置參數(shù)
two:$2,第二個(gè)位置參數(shù)
tsix:$6,第六個(gè)位置參數(shù)
預(yù)定義變量
(1)$#:命令行中位置變量的個(gè)數(shù)
(2)$*:所有位置變量的內(nèi)容
(3)$?:上一條命令執(zhí)行后返回的狀態(tài),當(dāng)返回值為0時(shí)代表執(zhí)行正常,非0只表示執(zhí)行異?;虺鲥e(cuò)
(4)$0:當(dāng)前執(zhí)行的進(jìn)程/程序名

SHELL 編程規(guī)范及變量

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前題目:SHELL編程規(guī)范及變量-創(chuàng)新互聯(lián)
分享鏈接:http://muchs.cn/article38/ejgsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、虛擬主機(jī)、外貿(mào)網(wǎng)站建設(shè)、電子商務(wù)、網(wǎng)站維護(hù)、網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管