1. 程式人生 > >148_Linux新增環境變數相關的知識

148_Linux新增環境變數相關的知識

1、檢視環境變數:

echo $PATH

 

2、~和/

~表示個人目錄

/表示根目錄

從跟使用者切換到普通使用者  (lu是普通使用者的名字)su -l lu

檢視指令是怎麼用的:     man shutdown

 

3、永久地新增環境變數,其實就是新增一個bin資料夾的路徑

 

4、注意改變完之後要執行

vim /etc/profile

在文件最後,新增:

export PATH="/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH"

儲存,退出,然後執行:

#source /etc/profile

 

 

 

 

 

Linux下檢視和新增環境變數

轉自:http://blog.sina.com.cn/s/blog_688077cf01013qrk.html

$PATH:決定了shell將到哪些目錄中尋找命令或程式,PATH的值是一系列目錄,當您執行一個程式時,Linux在這些目錄下進行搜尋編譯連結。

  編輯你的 PATH 宣告,其格式為:

  PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>

  你可以自己加上指定的路徑,中間用冒號隔開。環境變數更改後,在使用者下次登陸時生效,如果想立刻生效,則可執行下面的語句:$ source .bash_profile

  需要注意的是,最好不要把當前路徑 “./” 放到 PATH 裡,這樣可能會受到意想不到的攻擊。完成後,可以通過 $ echo $PATH 檢視當前的搜尋路徑。這樣定製後,就可以避免頻繁的啟動位於 shell 搜尋的路徑之外的程式了。

 

1. 可用 export 命令檢視PATH值

[[email protected] u-boot-sh4]# export


declare -x CVS_RSH="ssh"
declare -x DISPLAY=":0.0"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="localhost"
declare -x INPUTRC="/etc/inputrc"
declare -x LANG="zh_CN.UTF-8"
declare -x LESSOPEN="|/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x LS_COLORS="no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:"
declare -x MAIL="/var/spool/mail/root"
declare -x OLDPWD="/root"
declare -x PATH="/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
declare -x PWD="/opt/STM/STLinux-2.3/devkit/sources/u-boot/u-boot-sh4"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass"
declare -x TERM="xterm"
declare -x USER="root"
declare -x XAUTHORITY="/root/.xauthkSzH7b"

2. 單獨檢視PATH環境變數,可用:

[[email protected] u-boot-sh4]#echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

3. 新增PATH環境變數(臨時),可用:

[[email protected] u-boot-sh4]#export PATH=/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH

再次檢視:

[[email protected] u-boot-sh4]# echo $PATH
/opt/STM/STLinux-2.3/devkit/sh4/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

說明新增PATH成功。

上述方法的PATH 在終端關閉 後就會消失。

4. 永久新增環境變數(影響當前使用者)

#vim ~/.bashrc

export PATH="/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH"

 

5.永久新增環境變數(影響所有使用者)

vim /etc/profile

在文件最後,新增:

export PATH="/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH"

儲存,退出,然後執行:

#source /etc/profile

不報錯則成功。

問題: 

1. 做了各實驗,在/etc/profile, ~/.profile, ~/.bashrc中加入新PATH,重啟都沒有效果,只有使用source才可以,ubunt12.04

 找到原因,~/.zshrc導致的,因為在zshrc中直接對PATH重新賦值,而沒有繼承之前的$PATH,導致啟動載入完/etc/profile後,PATH又被重新賦值。