變量是暫時存儲數(shù)據(jù)的地方及數(shù)據(jù)標(biāo)記,所存儲的數(shù)據(jù)存在于內(nèi)存空間中,通過正確地調(diào)用內(nèi)存空間中變量的名字就可以取出與變量對應(yīng)的數(shù)據(jù)。使用變量的最大好處就是使程序開發(fā)更為方便,當(dāng)然,在編程中使用變量也是必須的。否則就很難完成相關(guān)的工作。
公司主營業(yè)務(wù):成都網(wǎng)站建設(shè)、成都做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出尼瀘西免費做網(wǎng)站回饋大家。
變量賦值的方式:先寫變量名稱,緊接著就是“=”,最后是值。“=”號前后不允許有空格。一般情況下,定義變量時,需要給變量的值帶雙引號,以防止出錯,特別是當(dāng)值的內(nèi)容中有空格時,必須帶雙引號。
變量可分為兩大類:
- 環(huán)境變量也可稱為全局變量,可以在創(chuàng)建它們的Shell及其派生出的任意子shell中使用。環(huán)境便令也可分為自定義環(huán)境變量和bash內(nèi)置的環(huán)境變量;
- 普通變量也可稱為局部變量,只能在創(chuàng)建它們的shell函數(shù)或shell腳本中使用。
環(huán)境變量一般是指用“export”內(nèi)置命令導(dǎo)出的便令,用于定義Shell的運行環(huán)境,保證Shell命令的正確執(zhí)行。
環(huán)境變量可以在命令行設(shè)置和創(chuàng)建,但用戶退出命令行時,這些變量值也會隨之丟失,因此,如果希望永久保存環(huán)境便令,可在用戶家目錄下的.bash_profile或.bashrc文件中,或者全局配置/etc/profile或/etc/bashrc 文件中。在講環(huán)境變量放入以上文件中,每次用戶登錄時這些變量都將被初始化。
按照系統(tǒng)規(guī)范,所有的環(huán)境的名稱均采用大寫形式(不是必須,只是習(xí)慣而已)。在將環(huán)境變量應(yīng)用于用戶進(jìn)程程序之前,都應(yīng)該用“export”命令到處定義。
系統(tǒng)中一些常見的環(huán)境變量,比如:HOME、PATH、SHELL、UID、USER等,在用戶登錄之前就已經(jīng)被/bin/login程序設(shè)置好了。通常環(huán)境變量被定義并保存在用戶家目錄下的.bash_profile文件或全局的配置文件/etc/profile文件中。
查看設(shè)置的變量時,有三個命令可以顯示變量的值:
① set:輸出所有的變量,包括全局變量和局部變量;
② env:只顯示全局變量;
③ declare:輸出所有的變量、函數(shù)、整數(shù)和已經(jīng)導(dǎo)出的變量。
如果想要設(shè)置環(huán)境變量,就要在給變量賦值之后或在設(shè)置變量時使用“export”命令。
語法格式:
①export 變量名=value
②變量名=value
export 變量名
當(dāng)然除了使用“export”命令,還可以使用帶“-x”選項的declare內(nèi)置命令可以同樣設(shè)置為相同的效果。
語法格式:
- declare -x 變量名=value
如果想要讓環(huán)境變量永久生效的方法:
如果想讓系統(tǒng)開機(jī)之后自動執(zhí)行腳本,只需將腳本文件名稱放在/etc/profile.d/目錄下即可!
在登錄Linux系統(tǒng)并啟動一個bash shell時,默認(rèn)情況下,bash會在若干文件中查找環(huán)境的設(shè)置。這些文件可統(tǒng)稱為系統(tǒng)環(huán)境文件。bash檢查的環(huán)境變量文件的情況取決于系統(tǒng)運行shell的方式。
系統(tǒng)運行shell的方式一般有三種:
① 通過系統(tǒng)用戶登錄后默認(rèn)運行的shell;
② 非登錄交互式運行shell;
③ 執(zhí)行腳本運行非交互式shell。
當(dāng)用戶登錄系統(tǒng)后。shell會作為登錄shell啟動,此時的登錄shell加載環(huán)境變量的順序,如圖:
①用戶登錄系統(tǒng)后首先加載/etc/profile(全局環(huán)境變量文件)。這是Linux系統(tǒng)上默認(rèn)的Shell主環(huán)境變量文件。系統(tǒng)任何用戶登錄都會加載這個環(huán)境變量文件;
②當(dāng)加載完/etc/profile文件后,才會執(zhí)行/etc/profile.d目錄下的腳本文件;
③之后開始運行$HOME/.bash_profile(用戶環(huán)境變量文件);在這個文件中,又會去找$HOME/.bashrc(用戶環(huán)境變量文件);在這個文件中,又會去找/etc/bashrc(全局環(huán)境變量文件)。
如果用戶的shell不是登錄時啟動的(比如切換shell或者ssh遠(yuǎn)程登錄),那么這種非登錄shell只會加載$HOME/.bashrc(用戶環(huán)境變量文件),并會去找/etc/bashrc(全局環(huán)境變量文件)。因此如果希望在非登錄shell下也可督導(dǎo)設(shè)置的環(huán)境變量等內(nèi)容,就需要將變量設(shè)定寫在$HOME/.bashrc(用戶環(huán)境變量文件)或/etc/bashrc(全局環(huán)境變量文件)。千萬不要寫到$HOME/.bash_profile(用戶環(huán)境變量文件)或/etc/profile(全局環(huán)境變量文件)!?。?/strong>
本地變量只能在用戶當(dāng)前shell生存期中使用!
定義的方法有三種:
①變量名=value
②變量名='value'
③變量名="value"
這三種定義變量文件的區(qū)別:
- 第一種(不加任何引號):當(dāng)內(nèi)容為簡單連續(xù)的數(shù)字、字符串、路徑名時,可以這樣使用。不加引號時,值里有變量時會被解析后在輸出;
- 第二種(單引號):這種定義方式的特點是:輸出變量內(nèi)容時單引號里是什么就輸出什么,不管內(nèi)容中是否有變量和命令(需用翻反撇號括起來)。也會把他們原樣輸出。比較適合定義純字符串的情況。
- 第三種(雙引號):這種定義方式的特點是:輸出變量內(nèi)容時引號中的變量及命令經(jīng)過解析后再輸出內(nèi)容。而不是和第二種(單引號)一樣原樣輸出。這種方式比較適合于字符串中附帶變量及命令(需用翻反撇號括起來)并且想將其解析后再輸出的變量定義。
如圖:
將命令作為作為變量值方法有兩種:
①變量名=`命令`
//用反撇號將命令括起來
②變量名=$(命令)
//推薦使用
注意當(dāng)一個變量后面還有其他字符時,必須將變量加上“{}”。