溫馨提示×

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

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

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

發(fā)布時(shí)間:2020-07-05 15:53:52 來(lái)源:網(wǎng)絡(luò) 閱讀:276 作者:wx5d3fd1efe40e3 欄目:系統(tǒng)運(yùn)維

首先了解shell的作用:

1、命令解釋器:“翻譯官”介于系統(tǒng)內(nèi)核與用戶之間,負(fù)責(zé)解釋命令行

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

[root@localhost?~]#?cat?/etc/shells
/bin/sh
/bin/bash
/bin/nologin
......

編寫(xiě)第一個(gè)shell腳本:

1、編寫(xiě)腳本代碼,完善腳本構(gòu)成

使用vi編輯器

所有腳本擴(kuò)展名為.sh

每一天linux命令,按執(zhí)行順序依次編寫(xiě)

養(yǎng)成良好習(xí)慣:開(kāi)頭第一件事腳本聲明:#!/bin/bash

[root@localhost?~]#?vi?first.sh
#!/bin/bash
#?this?is?first?script
cd?/boot
pwd
1s?-lh?vml*

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

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

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


3、執(zhí)行腳本文件

方法一:腳本文件路徑(絕對(duì)路徑與相對(duì)路徑)[此方式腳本文件必須擁有可執(zhí)行權(quán)限]

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

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

方法二: sh腳本文件路徑(此方式不會(huì)改變所在環(huán)境位置)

[root@localhost?-]#?sh?/first.sh

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

方法三: source 腳本文件路徑

[root@localhost?-]#?source?/first.sh

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

方法四:".+空格"腳本文件路徑

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

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

重點(diǎn)符號(hào)介紹——重定向與管道

交互式硬件設(shè)備

標(biāo)準(zhǔn)輸入:從該設(shè)備接收用戶輸入的數(shù)據(jù):

標(biāo)準(zhǔn)輸出通過(guò)該設(shè)備向用戶輸出數(shù)據(jù)

標(biāo)準(zhǔn)錯(cuò)誤:通過(guò)該設(shè)備報(bào)告執(zhí)行出錯(cuò)信息

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

> 重定向:將輸出結(jié)果保存到指定文件

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

| 管道符號(hào): 將左側(cè)的命令輸出結(jié)果,作為右側(cè)命令的處理對(duì)象

cmd1?|?cmd2?[...?|?cmdn]


shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

shell變量的作用及類型

1、變量的作用

  • 為靈活管理Linux系統(tǒng)提供特定參數(shù),有兩層意思

  • 變量名:使用固定的名稱,由系統(tǒng)預(yù)設(shè)或用戶定義

  • 變量值:能夠根據(jù)用戶設(shè)置、系統(tǒng)環(huán)境的變化而變化

2、 變量的類型

  • 自定義變量:由用戶自己定義、修改和使用

  • 環(huán)境變量:由系統(tǒng)維護(hù),用于設(shè)置工作環(huán)境

  • 位置變量:通過(guò)命令行給腳本程序傳遞參數(shù)

  • 預(yù)定義變量: Bash中內(nèi)置的一類變量,不能直接修改


自定義變量

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

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

變量名=變量值

查看變量的值

echo?$變量名

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

賦值時(shí)使用引號(hào)

雙引號(hào):允許通過(guò)$符號(hào)引用其他變量值
單引號(hào):禁止引用其他變量值。$視為普通字符
反撇號(hào):命令替換,提取命令執(zhí)行后的輸出結(jié)果

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

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

read?[-p?“提示信息”]?變量名

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

格式1:export?變量名?...
格式2:enport?變量名+變量值?...

整數(shù)變量的運(yùn)算

expr?變量1?運(yùn)算符?變量2?[運(yùn)算符?變量3]?...
常用運(yùn)算符
加法運(yùn)算:+
減法運(yùn)算:-
乘法運(yùn)算:\*
除法運(yùn)算:/
求模(取余)運(yùn)算:%

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

特殊的shell變量

環(huán)境變量

  • 由系統(tǒng)提權(quán)創(chuàng)建,用來(lái)設(shè)置用戶的工作環(huán)境

  • 配置文件:/etc/profile(系統(tǒng)的環(huán)境變量)、~/.bash_profile(用戶的環(huán)境變量)

    shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

    shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

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

  • PWD、PATH

  • USER、SHELL、HOME

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

位置變量

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

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

預(yù)定義變量

  • $#:命令行中位置變量的個(gè)數(shù)

  • $*:所有位置變量的內(nèi)容

  • $?:上一條命令執(zhí)行后返回的狀態(tài),當(dāng)返回狀態(tài)置為0時(shí)表示執(zhí)行正常,非0值表示執(zhí)行異常或出錯(cuò)

  • $0:當(dāng)前執(zhí)行的進(jìn)程/程序

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

shell編程與變量——編寫(xiě)你的第一個(gè)shell腳本

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

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

AI