shell中環(huán)境變量

環(huán)境變量

查看環(huán)境變量命令

命令 功能
env和printenv 不會對變量進行排序,也不會輸出局部變量和用戶定義變量
set 會顯示出全局變量、局部變量以及用戶定義變量。它還會按照字母順序對結果進行排序

設置全局環(huán)境變量

在設置全局環(huán)境變量的進程所創(chuàng)建的子進程中,該變量都是可見的。創(chuàng)建全局環(huán)境變量的方法是先創(chuàng)建一個局部環(huán)境變量,然后再把它導出到全局環(huán)境中。

這個過程通過export命令來完成,變量名前不需要加$。
修改子shell中全局環(huán)境變量并不會影響到父shell中該變量的值。
子shell甚至無法使用export命令改變父shell中的全局環(huán)境變量的值。

$ my_variable="I am man"
$ export my_variable
$
$ echo $my_variable
I am man
$
$ bash
$
$ echo $my_variable
I am man
$
$my_variable="Null"
$
$export my_variable
$
$echo $my_variable
Null
$
$exit
exit
$
$ echo $my_variable
I am man
$

刪除環(huán)境變量

用unset命令刪除,不用使用$,如果在子進程里刪除變量并不會對父進程有影響。

$ echo $my_variable
I am man
$
$ unset my_variable
$
$ echo $my_variable

$

竅門: 如果要用到變量,使用$;如果要操作變量,不使用$。這條規(guī)則的一個例外就是使用printenv顯示某個變量的值。

定位系統(tǒng)環(huán)境變量

登錄shell
登錄shell會從5個不同的啟動文件里讀取命令:

  • /etc/profile
  • $HOME/.bash_profile
  • $HOME/.bashrc
  • $HOME/.bash_login
  • $HOME/.profile
  1. /etc/profile
    /etc/profile文件是bash shell默認的主啟動文件。
  2. $HOME目錄下的啟動文件
    shell會按照下列順序,運行第一個被找到的文件,余下的則被忽略。
  • $HOME/.bash_profile
    ** $HOME/.bash_login
  • $HOME/.profile
    沒有$HOME/.bashrc文件,是因為該文件通常通過其他文件運行的。
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢閱讀 100,587評論 9 468
  • 說明,本文所使用的機器是:SUSE Linux Enterprise。 問題定位 這看起來像是環(huán)境變量引起的問題,...
    lework閱讀 3,054評論 6 11
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,182評論 2 33
  • 當你脫下平底帆布鞋 當咯噔聲踩碎了風 當所有的畏懼都在腳下 我想你看見了不一樣的風景 青春的碎片斑駁成影 再沒有被...
    美人長河閱讀 320評論 0 0
  • 剛剛按住一張廢紙,那邊又飛來一只破塑料袋兒。他們急忙撿起廢紙,又揮舞著掃帚前去捕捉塑料袋兒。他們桔紅色的工作服像劇...
    湖邊人老劉閱讀 437評論 0 0

友情鏈接更多精彩內(nèi)容