小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Shell的特殊變量

 蘇醒的貝殼 2019-03-18

特殊的shell變量

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

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

一、特殊的變量

1.環(huán)境變量

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

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

Shell的特殊變量

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

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

Shell的特殊變量

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

Shell的特殊變量

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

Shell的特殊變量

2.位置變量

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

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

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

Shell的特殊變量

3.預(yù)定義變量

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

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

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

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

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

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

Shell的特殊變量

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多