久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Shell的特殊變量

 蘇醒的貝殼 2019-03-18

特殊的shell變量

Linux——Shell腳本中自定義變量的應(yīng)用(基礎(chǔ))2

除了用戶(hù)自定定義的shell變量以外,還有一系列的特殊的變量——環(huán)境變量,、位置變量,、預(yù)定義變量。

一,、特殊的變量

1.環(huán)境變量

環(huán)境變量指的是出于運(yùn)行需要而由linux系統(tǒng)提前創(chuàng)建的一類(lèi)變量,,主要用于設(shè)置用戶(hù)的工作環(huán)境,包括用戶(hù)宿主目錄,、命令查找路徑,、用戶(hù)當(dāng)前目錄、登錄終端等,。環(huán)境變量的值由linux系統(tǒng)自動(dòng)維護(hù),,會(huì)隨著用戶(hù)狀態(tài)的改變而改變。

使用env命令可以查看到當(dāng)前工作環(huán)境下的環(huán)境變量,,對(duì)于常見(jiàn)的一些環(huán)境變量應(yīng)了解其各自的用途,。例如,變量USER表示用戶(hù)名稱(chēng),,HOME表示用戶(hù)的宿主目錄,,LANG表示語(yǔ)言和字符集,PWD表示當(dāng)前所在的工作目錄,,PATH表示命令搜索路徑等,。如下圖:

Shell的特殊變量

PARH變量用于設(shè)置可執(zhí)行程序的默認(rèn)搜索路徑,當(dāng)僅指定文件名稱(chēng)來(lái)執(zhí)行命令程序時(shí),,linux系統(tǒng)將在PATH變量指定的目錄范圍查找對(duì)應(yīng)的可執(zhí)行文件,,如果找不到則會(huì)提示'command not found'。

例如:firsh.sh腳本位于/root目錄下,,若希望能直接通過(guò)文件名稱(chēng)來(lái)運(yùn)行腳本,,可以修改PATH變量以添加搜索路徑,或者將first.sh腳本復(fù)制到現(xiàn)有搜索路徑中的某個(gè)文件夾下,。如下圖:

Shell的特殊變量

在linux系統(tǒng)中,,環(huán)境變量的全局配置文件為/etc/profile,在此文件中定義的變量作用于所有用戶(hù),。除此之外,,每個(gè)用戶(hù)還有自己的獨(dú)立配置文件(~/.bash_profil),。若要長(zhǎng)期變更或設(shè)置某個(gè)環(huán)境變量,應(yīng)在上述文件中進(jìn)行設(shè)置,。例如,,執(zhí)行以下操作可以將記錄的歷史命令條數(shù)改為200條(默認(rèn)為1000條),只針對(duì)root用戶(hù),。如下圖:

Shell的特殊變量

上述修改只有當(dāng)root用戶(hù)下次登錄時(shí)才會(huì)生效,。若希望立即生效,應(yīng)手動(dòng)修改環(huán)境變量,,或者可以加載配置文件執(zhí)行,。如下圖:

Shell的特殊變量

2.位置變量

為了在使用shell腳本程序時(shí),方便通過(guò)命令行為程序提供操作參數(shù),,bash引入了位置變量的概念,。當(dāng)執(zhí)行命令操作時(shí),第一個(gè)字段表示命令名或腳本程序名,,其余的字符串參數(shù)按照從左到右的順序依次賦值給位置變量,。

位置變量也稱(chēng)為位置參數(shù),使用$1,、$2,、$3....$9表示。例如,,當(dāng)執(zhí)行命令行'ls -lh /boot/'時(shí),其中第1個(gè)位置變量為'-lh',,以'$1'表示,;第2個(gè)位置變量為'/boot/',以'$2'表示,。命令或腳本本身的名稱(chēng)使用'$0'表示,,雖然$0與位置變量的格式相同,但是$0屬于預(yù)定義變量而不是位置變量,。

示例:下面是一個(gè)加法運(yùn)算的小腳本sum.sh,,用來(lái)計(jì)算兩個(gè)整數(shù)的和。需要計(jì)算的兩個(gè)整數(shù)在執(zhí)行腳本時(shí)以位置變量的形式提供,。如下圖:

Shell的特殊變量

3.預(yù)定義變量

預(yù)定義變量是由bash程序預(yù)先定義好的一類(lèi)特殊變量,,用戶(hù)只能使用預(yù)定義變量,而不能創(chuàng)建新的預(yù)定義變量,,也不能直接為預(yù)定義變量賦值,。預(yù)定義變量使用'$'符號(hào)和另一個(gè)符號(hào)組合表示,較常用的幾個(gè)預(yù)定義變量的含義如下:

  • $#:表示命令中位置參數(shù)的個(gè)數(shù)

  • $*:表示所有位置參數(shù)的內(nèi)容

  • $?:表示前一條命令執(zhí)行后的返回狀態(tài),,返回值為0表示執(zhí)行正確,,返回任何非0值均表示執(zhí)行出現(xiàn)異常

  • $0:表示當(dāng)前執(zhí)行的腳本或程序的名稱(chēng)

示例:下面是一個(gè)備份操作的小腳本,用來(lái)打包命令行指定的多個(gè)文件或目錄,并輸入相關(guān)信息,。其中,,新建的壓縮包文件名稱(chēng)中嵌入時(shí)間,通過(guò)'date +%F'命令來(lái)獲取,。如下圖:

Shell的特殊變量

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多