-
全局環(huán)境變量
全局環(huán)境變量對(duì)于shell會(huì)話和所有生成的子shell都是可見(jiàn)的盒让。 局部變量則只對(duì)創(chuàng)建它們的shell可見(jiàn)唬滑。
要查看全局變量澈圈, 可以使用 env 或 printenv 命令它掂。要顯示個(gè)別環(huán)境變量的值巴帮, 可以使用printenv 命令溯泣, 但是不要用env 命令。
-
也可以使用echo 顯示變量的值榕茧。 在這種情況下引用某個(gè)環(huán)境變量的時(shí)候垃沦, 必須在變量前面加上一個(gè)美元符( $ )
echo $HOME ls $HOME
-
局部環(huán)境變量
局部環(huán)境變量只能在定義它們的進(jìn)程中可見(jiàn)。- 在Linux系統(tǒng)并沒(méi)有一個(gè)只顯示局部環(huán)境變量的命令用押。
- set 命令會(huì)顯示為某個(gè)特定進(jìn)程設(shè)置的所有環(huán)境變量肢簿, 包括局部變量、 全局變量以及用戶定義變量蜻拨。
-
設(shè)置用戶定義變量
-
設(shè)置局部用戶定義變量
my_variable=Hello echo $my_variable #設(shè)置了局部環(huán)境變量后池充, 就能在shell進(jìn)程的任何地方使用它了。 但是缎讼, 如果生成了另外一個(gè)shell收夸, 它在子shell中就不可用。 bash echo $my_variable #空 exit echo $my_variable #Hello
-
設(shè)置全局環(huán)境變量
在設(shè)定全局環(huán)境變量的進(jìn)程所創(chuàng)建的子進(jìn)程中血崭, 該變量都是可見(jiàn)的卧惜。 創(chuàng)建全局環(huán)境變量的方法是先創(chuàng)建一個(gè)局部環(huán)境變量, 然后再把它導(dǎo)出到全局環(huán)境中夹纫。
這個(gè)過(guò)程通過(guò)export 命令來(lái)完成序苏, 變量名前面不需要加$ 。my_variable="I am Global now" export my_variable echo $my_variable # I am Global now bash echo $my_variable # I am Global now # 修改子shell中全局環(huán)境變量并不會(huì)影響到父shell中該變量的值捷凄。 bash my_variable="Null" echo $my_variable # Null exit echo $my_variable # I am Global now # 刪除環(huán)境變量 unset my_variable # 在處理全局環(huán)境變量時(shí)忱详, 事情就有點(diǎn)棘手了。 如果你是在子進(jìn)程中刪除了一個(gè)全局環(huán)境變量跺涤, 這只對(duì)子進(jìn)程有效匈睁。 該全局環(huán)境變量在父進(jìn)程中依然可用。 my_variable="I am Global now" bash unset my_variable exit echo $my_variable # I am Global now
-
-
設(shè)置PATH 環(huán)境變量
PATH=$PATH:/usr/local/nginx/sbin
-
定位系統(tǒng)環(huán)境變量
- 在你登入Linux系統(tǒng)啟動(dòng)一個(gè)bash shell時(shí)桶错, 默認(rèn)情況下bash會(huì)在幾個(gè)文件中查找命令航唆。 這些文件叫作啟動(dòng)文件 或環(huán)境文件 。
- 啟動(dòng)bash shell有3種方式:
- 登錄時(shí)作為默認(rèn)登錄shell
- 作為非登錄shell的交互式shell
- 作為運(yùn)行腳本的非交互shell
- 當(dāng)你登錄Linux系統(tǒng)時(shí)院刁, bash shell會(huì)作為登錄shell啟動(dòng)糯钙。 登錄shell會(huì)從5個(gè)不同的啟動(dòng)文件里讀取命令:
-
/etc/profile
/etc/profile文件是bash shell默認(rèn)的的主啟動(dòng)文件。 只要你登錄了Linux系統(tǒng)退腥, bash就會(huì)執(zhí)行 /etc/profile 啟動(dòng)文件中的命令任岸。這兩個(gè)發(fā)行版(Ubuntu和CentOS)的/etc/profile文件都用到了同一個(gè)特性: for 語(yǔ)句。 它用來(lái)迭代/etc/profile.d目錄下的所有文件狡刘。 這為L(zhǎng)inux系統(tǒng)提供了一個(gè)放置特定應(yīng)用程序啟動(dòng)文件的地方享潜, 當(dāng)用戶登錄時(shí), shell會(huì)執(zhí)行這些文件嗅蔬。
-
$HOME目錄下的啟動(dòng)文件
剩下的啟動(dòng)文件都起著同一個(gè)作用: 提供一個(gè)用戶專屬的啟動(dòng)文件來(lái)定義該用戶所用到的環(huán)境變量剑按。 大多數(shù)Linux發(fā)行版只用這四個(gè)啟動(dòng)文件中的一到兩個(gè):- $HOME/.bash_profile
- $HOME/.bashrc
- $HOME/.bash_login
- $HOME/.profile
-
-
環(huán)境變量持久化
- 現(xiàn)在你已經(jīng)了解了各種shell進(jìn)程以及對(duì)應(yīng)的環(huán)境文件疾就, 找出永久性環(huán)境變量就容易多了。 也可以利用這些文件創(chuàng)建自己的永久性全局變量或局部變量艺蝴。
- 最好是在/etc/profile.d目錄中創(chuàng)建一個(gè)以.sh結(jié)尾的文件猬腰。 把所有新的或修改過(guò)的全局環(huán)境變量設(shè)置放在這個(gè)文件中。
- 用source命令使其生效(否則需注銷重新登錄才能生效)
-
數(shù)組變量
要給某個(gè)環(huán)境變量設(shè)置多個(gè)值猜敢, 可以把值放在括號(hào)里姑荷, 值與值之間用空格分隔。mytest=(one two three four five) echo $mytest # one echo ${mytest[2]} #three echo ${mytest[*]} #one two three four five mytest[2]=seven #one two seven four five unset mytest[2] #one two four five echo ${mytest[2]} #空 echo ${mytest[3]} #four unset mytest
Linux命令行與Shell-----環(huán)境變量
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門趋厉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人胶坠,你說(shuō)我怎么就攤上這事君账。” “怎么了沈善?”我有些...
- 文/不壞的土叔 我叫張陵乡数,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我闻牡,道長(zhǎng)净赴,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任罩润,我火速辦了婚禮玖翅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘割以。我一直安慰自己金度,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開(kāi)白布严沥。 她就那樣靜靜地躺著审姓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪祝峻。 梳的紋絲不亂的頭發(fā)上魔吐,一...
- 那天扎筒,我揣著相機(jī)與錄音荣刑,去河邊找鬼蛤铜。 笑死交掏,一個(gè)胖子當(dāng)著我的面吹牛僧免,可吹牛的內(nèi)容都是我干的杜顺。 我是一名探鬼主播灿巧,決...
- 文/蒼蘭香墨 我猛地睜開(kāi)眼纵装,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼钧汹!你這毒婦竟也來(lái)了相满?” 一聲冷哼從身側(cè)響起层亿,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎立美,沒(méi)想到半個(gè)月后匿又,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡建蹄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年碌更,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片洞慎。...
- 正文 年R本政府宣布焦人,位于F島的核電站挥吵,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏垃瞧。R本人自食惡果不足惜蔫劣,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望个从。 院中可真熱鬧脉幢,春花似錦、人聲如沸嗦锐。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)奕污。三九已至萎羔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間碳默,已是汗流浹背贾陷。 一陣腳步聲響...
- 正文 我出身青樓巷懈,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親慌洪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子顶燕,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 說(shuō)明,本文所使用的機(jī)器是:SUSE Linux Enterprise冈爹。 問(wèn)題定位 這看起來(lái)像是環(huán)境變量引起的問(wèn)題涌攻,...
- 第一部分 Linux命令行 1. 基本的bash shell命令 1.1 啟動(dòng)shell /etc/passwd文...
- 該來(lái)的我 終究還是來(lái)了 =嵴汀!责循! 在2016快跟我們 的時(shí)候T愀邸!院仿! 沒(méi)錯(cuò)秸抚,我是小群子姐 一個(gè)在2016年墨水沒(méi)長(zhǎng)多少...