linux查看環境變數命令
⑴ linux怎麼設置系統環境變數之export命令詳解
1. Linux export命令簡介
Linux export命令用於設置或顯示環境變數。
在shell中執行程序時,shell會提供一組環境變數。export可新增,修改或刪除環境變數,供後續執行的程序使用。export的效力僅及於該次登陸操作。
export命令用於將shell變數輸出為環境變數,或者將shell函數輸出為環境變數。
一個變數創建時,它不會自動地為在它之後創建的shell進程所知。而命令export可以向後面的shell傳遞變數的值。當一個shell腳本調用並執 行時,它不會自動得到原為腳本(調用者)里定義的變數的訪問權,除非這些變數已經被顯式地設置為可用。export命令可以用於傳遞一個或多個變數的值到任何後繼腳本。
Linux export命令簡介
2. export參數
-f 代表[變數名稱]中為函數名稱。
-n 刪除指定的變數。變數實際上並未刪除,只是不會輸出到後續指令的執行環境中。
-p 列出所有的shell賦予程序的環境變數。
一個變數創建時,它不會自動地為在它之後創建的shell進程所知。而命令export可以向後面的shell傳遞變數的值。當一個shell腳本調用並執行時,它不會自動得到原為腳本(調用者)里定義的變數的訪問權,除非這些變數已經被顯式地設置為可用。export命令可以用於傳遞一個或多個變數的值到任何後繼腳本。
Linux怎麼設置變數環境
3. 在linux里設置環境變數的方法
一般來說,配置交叉編譯工具鏈的時候需要指定編譯工具的路徑,此時就需要設置環境變數。例如我的mips-linux-gcc編譯器在「/opt/abc/123/bin」目錄下,有如下三種方法來設置環境變數:
3.1 直接用export命令,臨時生效
查看是否已經設好,可用命令export查看:
檢查:
輸出結果:
declare -x HISTCONTROL="ignoreps"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="zcwyou"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32: .tar=01;31: .tgz=01;31: .arc=01;31: .arj=01;31: .taz=01;31: .lha=01;31: .lz4=01;31: .lzh=01;31: .lzma=01;31: .tlz=01;31: .txz=01;31: .tzo=01;31: .t7z=01;31: .zip=01;31: .z=01;31: .Z=01;31: .dz=01;31: .gz=01;31: .lrz=01;31: .lz=01;31: .lzo=01;31: .xz=01;31: .bz2=01;31: .bz=01;31: .tbz=01;31: .tbz2=01;31: .tz=01;31: .deb=01;31: .rpm=01;31: .jar=01;31: .war=01;31: .ear=01;31: .sar=01;31: .rar=01;31: .alz=01;31: .ace=01;31: .zoo=01;31: .cpio=01;31: .7z=01;31: .rz=01;31: .cab=01;31: .jpg=01;35: .jpeg=01;35: .gif=01;35: .bmp=01;35: .pbm=01;35: .pgm=01;35: .ppm=01;35: .tga=01;35: .xbm=01;35: .xpm=01;35: .tif=01;35: .tiff=01;35: .png=01;35: .svg=01;35: .svgz=01;35: .mng=01;35: .pcx=01;35: .mov=01;35: .mpg=01;35: .mpeg=01;35: .m2v=01;35: .mkv=01;35: .webm=01;35: .ogm=01;35: .mp4=01;35: .m4v=01;35: .mp4v=01;35: .vob=01;35: .qt=01;35: .nuv=01;35: .wmv=01;35: .asf=01;35: .rm=01;35: .rmvb=01;35: .flc=01;35: .avi=01;35: .fli=01;35: .flv=01;35: .gl=01;35: .dl=01;35: .xcf=01;35: .xwd=01;35: .yuv=01;35: .cgm=01;35: .emf=01;35: .axv=01;35: .anx=01;35: .ogv=01;35: .ogx=01;35: .aac=01;36: .au=01;36: .flac=01;36: .mid=01;36: .midi=01;36: .mka=01;36: .mp3=01;36: .mpc=01;36: .ogg=01;36: .ra=01;36: .wav=01;36: .axa=01;36: .oga=01;36: .spx=01;36:*.xspf=01;36:"
declare -x MAIL="/var/spool/mail/root"
declare -x OLDPWD
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/abc/123/bin"
declare -x PWD="/root"
declare -x SELINUX_LEVEL_REQUESTED=""
declare -x SELINUX_ROLE_REQUESTED=""
declare -x SELINUX_USE_CURRENT_RANGE=""
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_CLIENT="113.105.164.145 6668 22"
declare -x SSH_CONNECTION="113.105.164.145 6668 113.105.164.151 22"
declare -x SSH_TTY="/dev/pts/0"
declare -x TERM="xterm"
declare -x USER="root"
declare -x XDG_RUNTIME_DIR="/run/user/0"
declare -x XDG_SESSION_ID="2185"
留意一下輸出的這部分:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/abc/123/bin"
可以看到已經包括了剛剛設置的變數路徑。
變數路徑和環境Linux
3.2 修改profile文件,永久生效
把目錄/opt/abc/123/bin在裡面加入:
export PATH="
3.3 修改.bashrc文件,永久生效
在裡面加入:
export PATH="PATH:/opt/abc/123/bin"¨K14K¨G3G在裡面加入:exportPATH="PATH:/opt/abc/123/bin"
檢查結果:
3.4 修改/etc/re.local文件,永久生效
在裡面加入:
export PATH="
「/bin」、「/sbin」、「 /usr/bin」、「/usr/sbin」、「/usr/local/bin」等路徑已經在系統環境變數中了,如果可執行文件在這幾個標准位置,在終端命令行輸入該軟體可執行文件的文件名和參數(如果需要參數),回車即可。
如果不在標准位置,文件名前面需要加上完整的路徑。不過每次都這樣跑就太麻煩了,一個「一勞永逸」的辦法是把這個路徑加入環境變數。命令 export PATH:/opt/abc/123/bin"「/bin」、「/sbin」、「/usr/bin」、「/usr/sbin」、「/usr/local/bin」等路徑已經在系統環境變數中了,如果可執行文件在這幾個標准位置,在終端命令行輸入該軟體可執行文件的文件名和參數(如果需要參數),回車即可。如果不在標准位置,文件名前面需要加上完整的路徑。不過每次都這樣跑就太麻煩了,一個「一勞永逸」的辦法是把這個路徑加入環境變數。命令exportPATH="路徑」(或「PATH=
PATH為環境變數名,如DVSDK;調用時用
export DVSDK)可以把這個路徑加入環境變數,但是退出這個命令行就失效了。要想永久生效,需要把這行添加到環境變數文件里。有兩個文件可選:「/etc/profile」和用戶主目錄下的「.bashprofile」,「/etc/profile」對系統里所有用戶都有效,用戶主目錄下的「.bashprofile」只對這個用戶有效。exportPATH="
PATH:路徑1:路徑2:…:路徑n"),意思是可執行文件的路徑包括原先設定的路徑,也包括從「路徑1」到「路徑n」的所有路徑。當用戶輸入一個一串字元並按回車後,shell會依次在這些路徑里找對應的可執行文件並交給系統核心執行。那個「
」。
注意,與DOS/Window不同,UNIX類系統環境變數中路徑名用冒號分隔,不是分號。另外,軟體越裝越多,環境變數越添越多,為了避免造成混亂,建議所有語句都添加在文件結尾,按軟體的安裝順序添加。
本文已同步至博客站:
https://www.linuxrumen.com/cyml/859.html
⑵ 如何判斷linux的環境變數在哪裡定義
聲明一個環境變數:export AA="hello world",相對普通變數而言,只需在前面加上export即可
查看環境變數有兩種方法:方法一,使用set命令,這種方法會顯示普通變數和環境變數,方法二:使用env命令,這種方法只顯示環境變數
刪除環境變數:使用unset 變數名即可
查看常見環境變數路徑:echo $PATH
添加常用常用環境變數路徑: 使用PATH="$PATH":/root/,拼接即可,但是一旦退出當前系統,需要重新定義
如果需要長期使用該路徑,需要在配置文件下配置。/etc/profile和/etc/bashrc文件對所有用戶有效,~/bashrc和~/.bash_profile只對當前用戶有效,下面舉一個在linux環境下配置JDK的環境變數的例子
《linux就該這么學》里邊有詳細的介紹
⑶ linux環境變數的設置
1.使用命令echo顯示環境變數
本例使用echo顯示常見的變數HOME
$ echo $HOME
/home/kevin
2.設置一個新的環境變數
$ export MYNAME=」my name is kevin」
$ echo $ MYNAME
my name is Kevin
3.修改已存在的環境變數
接上個示例
$ MYNAME=」change name to jack」
$ echo $MYNAME
change name to jack
4.使用env命令顯示所有的環境變數
$ env
HOSTNAME=localhost.localdomain
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
SSH_CLIENT=192.168.136.151 1740 22
QTDIR=/usr/lib/qt-3.1
SSH_TTY=/dev/pts/0
……
5.使用set命令顯示所有本地定義的Shell變數
$ set
BASH=/bin/bash
BASH_ENV=/root/.bashrc
……
6.使用unset命令來清除環境變數
$ export TEMP_KEVIN=」kevin」 #增加一個環境變數TEMP_KEVIN
$ env | grep TEMP_KEVIN #查看環境變數TEMP_KEVIN是否生效(存在即生效)
TEMP_KEVIN=kevin #證明環境變數TEMP_KEVIN已經存在
$ unset TEMP_KEVIN #刪除環境變數TEMP_KEVIN
$ env | grep TEMP_KEVIN #查看環境變數TEMP_KEVIN是否被刪除,沒有輸出顯示,證明TEMP_KEVIN被清除了。
7.使用readonly命令設置只讀變數
註:如果使用了readonly命令的話,變數就不可以被修改或清除了。
$ export TEMP_KEVIN ="kevin" #增加一個環境變數TEMP_KEVIN
$ readonly TEMP_KEVIN #將環境變數TEMP_KEVIN設為只讀
$ env | grep TEMP_KEVIN #查看環境變數TEMP_KEVIN是否生效
TEMP_KEVIN=kevin #證明環境變數TEMP_KEVIN已經存在
$ unset TEMP_KEVIN #會提示此變數只讀不能被刪除
-bash: unset: TEMP_KEVIN: cannot unset: readonly variable
$ TEMP_KEVIN ="tom" #修改變數值為tom會提示此變數只讀不能被修改
-bash: TEMP_KEVIN: readonly variable
8.通過修改環境變數定義文件來修改環境變數。
需要注意的是,一般情況下,僅修改普通用戶環境變數配置文件,避免修改根用戶的環境定義文件,因為那樣可能會造成潛在的危險。
$ cd ~ #到用戶根目錄下
$ ls -a #查看所有文件,包含隱藏的文件
$ vi .bash_profile #修改用戶環境變數文件
例如:
編輯你的PATH聲明,其格式為:
PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>
你可以自己加上指定的路徑,中間用冒號隔開。
環境變數更改後,在用戶下次登陸時生效。
如果想立刻生效,則可執行下面的語句:$source .bash_profile
需要注意的是,最好不要把當前路徑」./」放到PATH里,這樣可能會受到意想不到的攻擊。
完成後,可以通過$ echo $PATH查看當前的搜索路徑。這樣定製後,就可以避免頻繁的啟動位於shell搜索的路徑之外的程序了。
⑷ linux 恢復默認環境變數
使用命令:
然後再查看環境變數:
發現環境變數已恢復默認值。
註:
不建議採用 export PATH=new_path:$PATH 的方式添加新變數,
更好的做法是將環境變數恢復默認值後,查看默認環境變數,然後在 .bashrc 文件中在默認環境變數之後添加新變數。
⑸ linux環境變數怎麼設置方法
Linux環境變數的設置和查看方法
Linux TCP/IP協議的使用和建立 Windows批處理切換IP地址使用方法
1. 顯示環境變數HOME
$ echo $HOME
/home/redbooks
2. 設置一個新的環境變數hello
$ export HELLO="Hello!"
$ echo $HELLO
Hello!
3. 使用env命令顯示所有的環境變數
$ env
HOSTNAME=redbooks.safe.org
PVM_RSH=/usr/bin/rsh
Shell=/bin/bash
TERM=xterm
HISTSIZE=1000
...
4. 使用set命令顯示所有本地定義的Shell變數
$ set
BASH=/bin/bash
BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")
BASH_VERSION='2.05b.0(1)-release'
COLORS=/etc/DIR_COLORS.xterm
COLUMNS=80
DIRSTACK=()
DISPLAY=:0.0
...
5. 使用unset命令來清除環境變數
set可以設置某個環境變數的值。清除環境變數的值用unset命令。如果未指定值,則該變數值將被設為NULL。示例如下:
$ export TEST="Test..." #增加一個環境變數TEST
$ env|grep TEST #此命令有輸入,證明環境變數TEST已經存在了
TEST=Test...
$ unset $TEST #刪除環境變數TEST
$ env|grep TEST #此命令沒有輸出,證明環境變數TEST已經存在了
6. 使用readonly命令設置只讀變數
如果使用了readonly命令的話,變數就不可以被修改或清除了。示例如下:
$ export TEST="Test..." #增加一個環境變數TEST
$ readonly TEST #將環境變數TEST設為只讀
$ unset TEST #會發現此變數不能被刪除
-bash: unset: TEST: cannot unset: readonly variable
$ TEST="New" #會發現此也變數不能被修改
-bash: TEST: readonly variable
環境變數的設置位於/etc/profile文件
如果需要增加新的環境變數可以添加下屬行
export path=$path:/path1:/path2:/pahtN
-----------------------------------------------------------------------------------------------------------------------
1.Linux的變數種類
按變數的生存周期來劃分,Linux變數可分為兩類:
1.1 永久的:需要修改配置文件,變數永久生效。
1.2 臨時的:使用export命令聲明即可,變數在關閉shell時失效。
2.設置變數的三種方法
2.1 在/etc/profile文件中添加變數【對所有用戶生效(永久的)】
用VI在文件/etc/profile文件中增加變數,該變數將會對Linux下所有用戶有效,並且是「永久的」。
例如:編輯/etc/profile文件,添加CLASSPATH變數
# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
註:修改文件後要想馬上生效還要運行# source /etc/profile不然只能在下次重進此用戶時生效。
2.2 在用戶目錄下的.bash_profile文件中增加變數【對單一用戶生效(永久的)】
用VI在用戶目錄下的.bash_profile文件中增加變數,改變數僅會對當前用戶有效,並且是「永久的」。
例如:編輯guok用戶目錄(/home/guok)下的.bash_profile
$ vi /home/guok/.bash.profile
添加如下內容:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
註:修改文件後要想馬上生效還要運行$ source /home/guok/.bash_profile不然只能在下次重進此用戶時生效。
2.3 直接運行export命令定義變數【只對當前shell(BASH)有效(臨時的)】
在shell的命令行下直接使用[export 變數名=變數值] 定義變數,該變數只在當前的shell(BASH)或其子shell(BASH)下是有效的,shell關閉了,變數也就失效了,再打開新shell時就沒有這個變數,需要使用的話還需要重新定義。
3.環境變數的查看
3.1 使用echo命令查看單個環境變數。例如:
echo $PATH
3.2 使用env查看所有環境變數。例如:
env
3.3 使用set查看所有本地定義的環境變數。
unset可以刪除指定的環境變數。
4.常用的環境變數
PATH 決定了shell將到哪些目錄中尋找命令或程序
HOME 當前用戶主目錄
HISTSIZE歷史記錄數
LOGNAME 當前用戶的登錄名
HOSTNAME指主機的名稱
SHELL 當前用戶Shell類型
LANGUGE 語言相關的環境變數,多語言可以修改此環境變數
MAIL當前用戶的郵件存放目錄
PS1基本提示符,對於root用戶是#,對於普通用戶是$
⑹ Linux下如何設置和查看環境變數
配置環境變數有2種方式:
1、通過配置文件如編輯/etc/profile添加
exportname=value
執行 source /etc/profile讓配置的環境變數生效
2、直接在命令行執行export name=value
以上請自行替換變數名和值給name和value
⑺ linux非root許可權配置環境變數
Linux的變數種類
按變數的生存周期來劃分,Linux變數可分為兩類:
1 永久的:需要修改配置文件,變數永久生效。
2 臨時的:使用export命令聲明即可,變數在關閉shell時失效。
設置變數的三種方法
1 在/etc/profile文件中添加變數【對所有用戶生效(永久的)】
用VI在文件/etc/profile文件中增加變數,該變數將會對Linux下所有用戶有效,並且是「永久的」。
例如:編輯/etc/profile文件,添加CLASSPATH變數
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
註:修改文件後要想馬上生效還要運行# source /etc/profile不然只能在下次重進此用戶時生效。
2 在用戶目錄下的.bash_profile文件中增加變數【對單一用戶生效(永久的)】
用VI在用戶目錄下的.bash_profile文件中增加變數,改變數僅會對當前用戶有效,並且是「永久的」。
例如:編輯guok用戶目錄(/home/guok)下的.bash_profile
命令用法如下
$ cd (進入用戶登陸目錄)
$ls –al .bash_profile(.bash_profile為隱藏文件,因此要用ls –a命令查找)
$vi .bash_profile(用vi編輯.bash_profile)
vi/home/guok/.bash.profile添加如下內容:exportCLASSPATH=./JAVAHOME/lib;JAVA_HOME/jre/lib
註:修改文件後要想馬上生效還要運行$ source /home/guok/.bash_profile不然只能在下次重進此用戶時生效。
3 直接運行export命令定義變數【只對當前shell(BASH)有效(臨時的)】
在shell的命令行下直接使用[export 變數名=變數值] 定義變數,
該變數只在當前的shell(BASH)或其子shell(BASH)下是有效的,
shell關閉了,變數也就失效了,再打開新shell時就沒有這個變數,需要使用的話還需要重新定義。
環境變數的查看
1 使用echo命令查看單個環境變數。例如:
echo $PATH
2 使用env查看所有環境變數。例如:
env
3 使用set查看所有本地定義的環境變數。
使用unset刪除指定的環境變數
set可以設置某個環境變數的值。清除環境變數的值用unset命令。如果未指定值,則該變數值將被設為NULL。示例如下:
export TEST="Test..." #增加一個環境變數TEST env|grep TEST #此命令有輸入,證明環境變數TEST已經存在了
TEST=Test...
unset TEST #刪除環境變數TEST
$ env|grep TEST #此命令沒有輸出,證明環境變數TEST已經刪除
常用的環境變數
PATH 決定了shell將到哪些目錄中尋找命令或程序
HOME 當前用戶主目錄
HISTSIZE歷史記錄數
LOGNAME 當前用戶的登錄名
HOSTNAME指主機的名稱
SHELL 當前用戶Shell類型
LANGUGE 語言相關的環境變數,多語言可以修改此環境變數
MAIL當前用戶的郵件存放目錄
PS1基本提示符,對於root用戶是#,對於普通用戶是$
Linux下設置和查看環境變數
https://www.cnblogs.com/qiuhong10/p/7815943.html
Linux下修改.bash_profile 文件改變PATH變數的值
https://blog.csdn.net/u011323949/article/details/79045788