在linux裡怎麼設定環境變數啊,用env可以看到所有的環境變數,那什麼指令可以改它們啊

來源:互聯網
上載者:User
export
例如:
export $HOME=$HOME:YOUR_DIR

set 顯示當前shell的變數,包括目前使用者的變數
env 顯示目前使用者的變數
export 顯示當前置出成使用者變數的shell變數

每個shell有自己特有的變數(set)顯示的變數,這個和使用者變數是不同的,目前使用者變數和你用什麼shell無關,不管你用什麼shell都在,比如 HOME,SHELL等這些變數,但shell自己的變數不同shell是不同的,比如BASH_ARGC
BASH等,這些變數只有set才會顯示,是bash特有的,export不加參數的時候,顯示哪些變數被匯出成了使用者變數,因為一個shell自己的變數可以通過export “匯出”變成一個使用者變數。
如使用者想增加一目錄到PATH中,操作如下:
1.vim .bashrc增加sbin目錄到PATH中
$export PATH=$PATH:/sbin 或者export PATH=/sbin:$PATH

2.source到環境變數中
$source

3.查驗
set|grep PATH 或env|grep PATH 或 export|grep PATH

這個set 和export很重要:
set env export區別

set 顯示當前shell的變數,包括目前使用者的變數
env 顯示目前使用者的變數
export 顯示當前置出成使用者變數的shell變數

每個shell有自己特有的變數(set)顯示的變數,這個和使用者變數是不同的,目前使用者變數和你用什麼shell無關,不管你用什麼shell都在,比如 HOME,SHELL等這些變數,但shell自己的變數不同shell是不同的,比如BASH_ARGC, BASH等,這些變數只有set才會顯示,是bash特有的,export不加參數的時候,顯示哪些變數被匯出成了使用者變數,因為一個shell自己的變數可以通過export “匯出”變成一個使用者變數。

如使用者想增加一目錄到PATH中,操作如下:

1.vim .bashrc增加sbin目錄到PATH中

$export PATH=$PATH:/sbin 或者export PATH=/sbin:$PATH

2.source到環境變數中

$source

3.查驗

set|grep PATH 或env|grep PATH 或 export|grep PATH

.bashrc和.bash_profile區別

.bash_profile會用在login shell
.bashrc 使用在interactive non-login shell

Bash下每個使用者都可以配置兩個初始檔案:.bash_profile和.bashrc。man bash中的相關解
釋如下:

,------------------------------------------------------------
| ~/.bash_profile
| The personal initialization file, executed for login shells
| ~/.bashrc
| The individual per-interactive-shell startup file
`------------------------------------------------------------

* 每次bash作為login shell啟動時會執行.bash_profile。

* 每次bash作為普通的互動shell(interactive shell)啟動時會執行.bashrc

** 注意
1, 在shell指令碼中“#!/usr/bin/bash”啟動的bash並不執行.bashrc。因為這裡的bash不是
interactive shell。

2, bash作為login shell(login bash)啟動時並不執行.bashrc。雖然該shell也是interactive shell,
但它不是普通的shell。

* 一般.bash_profile裡都會調用.bashrc

儘管login bash啟動時不會自動執行.bashrc,慣例上會在.bash_profile中顯式調用.bashrc。

.bashrc 使用在interactive non-login shell。意思是你每次運行一個bash指令碼的話,.bashrc就會被執行一次。有個簡單的方法,你在.bash_profile和.bashrc裡都用echo列印點什麼東西。你就可以看到著兩個檔案都是什麼時候被執行的了.

顯示環境變數HOME
  $ echo $HOME
 
設定一個新的環境變數hello
  $ export HELLO="Hello!"
  $ echo $HELLO

使用env命令顯示所有的環境變數
  $ env

使用set命令顯示所有本地定義的Shell變數
  $ set

還可以使用export設定
如:
    #export DISPLAY=127.0.0.1:0.0

編輯/etc/profile修改全域環境變數

編輯.bash_profile修改目前使用者的環境變數

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.