Linux下查看和添加環境變量


環境變量,簡要的說,就是指定一個目錄,運行軟件的時候,相關的程序將會按照該目錄尋找相關文件。設置變量對於一般人最實用的功能就是:不用拷貝某些dll文件到系統目錄中了,而path這一系統變量就是系統搜索dll文件的一系列路徑。

在linux系統下,如果你下載並安裝了應用程序,很有可能在鍵入它的名稱時出現“command not found”的提示內容。如果每次都到安裝目標文件夾內,找到可執行文件來進行操作就太繁瑣了。這涉及到環境變量 PATH 的設置問題,而 PATH的設置也是在linux下定制環境變量的一個組成部分。linux 查看環境變量與設置環境變量在使用過程中很常見,本文整理了一些常用的與環境變量相關的命令。

$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值

 1 bogon:~ a1$ export
 2 declare -x HOME="/Users/a1"
 3 declare -x LOGNAME="a1"
 4 declare -x MAIL="/var/mail/a1"
 5 declare -x OBJC_DISABLE_INITIALIZE_FORK_SAFETY="YES"
 6 declare -x OLDPWD
 7 declare -x PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/mysql/bin"
 8 declare -x PWD="/Users/a1"
 9 declare -x SHELL="/bin/bash"
10 declare -x SHLVL="1"
11 declare -x SSH_CLIENT="10.144.33.72 60090 22"
12 declare -x SSH_CONNECTION="10.144.33.72 60090 10.144.24.130 22"
13 declare -x SSH_TTY="/dev/ttys001"
14 declare -x TERM="xterm"
15 declare -x TMPDIR="/var/folders/ny/n3gm1zvn43q_6cc900xdc59c0000gn/T/"
16 declare -x USER="a1"

(2)單獨查看PATH環境變量,可用echo $PATH

1 bogon:~ a1$ echo $PATH
2 /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/mysql/bin

(3)用env命令顯示所有的環境變量

 1 bogon:~ a1$ env
 2 TERM=xterm
 3 SHELL=/bin/bash
 4 TMPDIR=/var/folders/ny/n3gm1zvn43q_6cc900xdc59c0000gn/T/
 5 SSH_CLIENT=10.144.33.72 60090 22
 6 SSH_TTY=/dev/ttys001
 7 OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
 8 USER=a1
 9 MAIL=/var/mail/a1
10 PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/mysql/bin
11 PWD=/Users/a1
12 SHLVL=1
13 HOME=/Users/a1
14 LOGNAME=a1
15 SSH_CONNECTION=10.144.33.72 60090 10.144.24.130 22
16 _=/usr/bin/env

(4)用set命令顯示所有本地定義的Shell變量

 1 bogon:~ a1$ set
 2 BASH=/bin/bash
 3 BASH_ARGC=()
 4 BASH_ARGV=()
 5 BASH_LINENO=()
 6 BASH_SOURCE=()
 7 BASH_VERSINFO=([0]="3" [1]="2" [2]="57" [3]="1" [4]="release" [5]="x86_64-apple-darwin17")
 8 BASH_VERSION='3.2.57(1)-release'
 9 COLUMNS=236
10 DIRSTACK=()
11 EUID=501
12 GROUPS=()
13 HISTFILE=/Users/a1/.bash_history
14 HISTFILESIZE=500
15 HISTSIZE=500
16 HOME=/Users/a1
17 HOSTNAME=bogon
18 HOSTTYPE=x86_64
19 IFS=$' \t\n'
20 LINES=56
21 LOGNAME=a1
22 MACHTYPE=x86_64-apple-darwin17
23 MAIL=/var/mail/a1
24 MAILCHECK=60
25 OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
26 OPTERR=1
27 OPTIND=1
28 OSTYPE=darwin17
29 PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/mysql/bin
30 PIPESTATUS=([0]="0")
31 PPID=40148
32 PS1='\h:\W \u\$ '
33 PS2='> '
34 PS4='+ '
35 PWD=/Users/a1
36 SHELL=/bin/bash
37 SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
38 SHLVL=1
39 SSH_CLIENT='10.144.33.72 60090 22'
40 SSH_CONNECTION='10.144.33.72 60090 10.144.24.130 22'
41 SSH_TTY=/dev/ttys001
42 TERM=xterm
43 TMPDIR=/var/folders/ny/n3gm1zvn43q_6cc900xdc59c0000gn/T/
44 UID=501
45 USER=a1
46 _=env

 

二、設置環境變量

(1)添加PATH環境變量(臨時有效),在終端直接運行export命令定義變量

在shell的命令行下直接使用如下格式[export 變量名=變量值] 定義變量

1 [root@localhost u-boot-sh4]#export PATH=/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH
2 
3 再次查看:
4 
5 [root@localhost u-boot-sh4]# echo $PATH
6 /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 在終端關閉 后就會消失。

 

(2)在用戶目錄下的.bash_profile文件中增加變量【對單一用戶生效(永久的)】 

用vi在用戶目錄下的.bash_profile文件中增加變量,改變量僅會對當前用戶有效,並且是“永久的”。 這種方法更為安全,它可以把使用這些環境變量的權限控制到用戶級別,這里是針對某一個特定的用戶,如果你需要給某個用戶權限使用這些環境變量,你只需要修改其個人用戶主目錄下的.bash_profile文件就可以了。通常.bash_profile和.bashrc認為效果一樣,也就是此處在.bashrc中增加環境變量也行。

例如:編輯guok用戶目錄(/home/guok)下的.bash_profile 

1 $ vi  /home/guok/.bash.profile 
2 添加如下內容: 
3 export PATH="/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH"

或者
#vim ~/.bashrc
 export PATH="/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH"

注:修改文件后要想馬上生效還要運行$ source /home/guok/.bash_profile不然只能在下次重進此用戶時生效。 

 

(3)在/etc/profile文件中添加變量【對所有用戶生效(永久的)】 

 

用VI在文件/etc/profile文件中增加變量,該變量將會對Linux下所有用戶有效,並且是“永久的”。 
例如:編輯/etc/profile文件,添加CLASSPATH變量 

1 $ vi  /etc/profile 
2 export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib 

注:修改文件后要想馬上生效還要運行# source /etc/profile不然只能在下次重進此用戶時生效。 

 

三、系統啟動讀取順序

/etc/profile,/etc/bashrc 是系統全局環境變量設定 
~/.profile,~/.bashrc 用戶家目錄下的私有環境變量設定 
當登入系統時候獲得一個shell進程時,其讀取環境設定檔有三步 :
1)、首先讀入的是全局環境變量設定檔/etc/profile,然后根據其內容讀取額外的設定的文檔,如 /etc/profile.d和/etc/inputrc 。
2)、然后根據不同使用者帳號,去其根目錄讀取~/.bash_profile,如果這讀取不了就讀取~/.bash_login,這個也讀取不了才會讀取 ~/.profile,這三個文檔設定基本上是一樣的,讀取有優先關系 。其中,Unbutu默認沒有~/.bash_profile文件,可新建。
3)、最后在根據用戶帳號讀取~/.bashrc 。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM