管理環境變數的文件也分為系統級和用戶級的。
1.系統級:
java">(1)/etc/profile:該文件是用戶登錄時,操作系統定製用戶環境時使用的第一個文件,應用於登錄到系統的每一個用戶。該文件一般是調用/etc/bash.bashrc文件。
/etc/bash.bashrc:系統級的bashrc文件。
(2)/etc/environment:在登錄時操作系統使用的第二個文件,系統在讀取你自己的profile前,設置環境文件的環境變數。
2.用戶級(這些文件處於家目錄下):
(1)~/.profile:每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次!默認情況下,他設置一些環境變數,執行用戶的.bashrc文件。這里是推薦放置個人設置的地方
(2)~/.bashrc:該文件包含專用於你的bashshell的bash信息,當登錄時以及每次打開新的shell時,該該文件被讀取。不推薦放到這兒,因為每開一個shell,這個文件會讀取一次,效率肯定有影響。
~/.bash_profileor~./bash_login:這里沒有引用作者的,下面會提到
~/.pam_environment:用戶級的環境變數設置文件,沒有做測試,不知道管不管用。
❷ 如何在Linux中修改環境變數PATH
修改Linux的PATH格式是這樣的,以在PATH環境變數中加入/root這個路徑為例:
PATH="$PATH":/root
首先PATH環境變數的各個路徑之間要用英文冒號分割(Windows的PATH環境變數的路徑之間用的是英文分號分割)。"$PATH"這一部分代表PATH環境變數原有的內容,因為PATH環境變數是非常重要,對PATH環境變數的修改都是在原PATH的內容上進行添加,所以先用"$PATH"導入原PATH的內容。後面再用英文冒號分割開/root這個新添加的內容,表示在原PATH的基礎上添加/root這個路徑。
對PATH的修改應該寫在哪個配置文件中呢?如果想讓設置只對當前用戶有效,就需要在~/.bashrc文件中添加設置,以添加/root目錄為例需要添加如下兩行:
PATH="$PATH":/root
export PATH
也可以將兩行設置寫成一行:export PATH="$PATH":/root
如果想讓PATH環境變數的設置對所有用戶都有效,則要把設置添加到/etc/profile這個全局配置文件中,添加的內容和在~/.bashrc中的一樣。
修改完配置文件後,如果想讓設置馬上生效,還需要運行source命令,比如:source ~/.bashrc,否則設置只在下次登錄時才會生效(也就是說要重新登錄)。
❸ linux下修改環境變數問題
按變數的生存周期來劃分,Linux變數可分為兩類,它們的修改方法如下:
(1)永久的:需要修改配置文件,變數永久生效。
常見的配置文件包括:
(1-1)/etc/profile:對所有用戶生效;此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行;並從/etc/profile.d目錄的配置文件中搜集shell的設置
例如:編輯/etc/profile文件,添加CLASSPATH變數
# vi /etc/profile
添加一行:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
修改後需要執行重新登錄才能生效,也可以執行命令source /etc/profile來生效
(1-2)/etc/bashrc:對所有用戶生效;為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取
編輯方法如上,不再贅述
(1-3)~/.bash_profile:僅會對當前用戶有效;每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次
例如:編輯guok用戶目錄(/home/guok)下的.bash_profile
$ vi /home/guok/.bash.profile
添加如下內容:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
修改後需要執行重新登錄才能生效,也可以執行命令source /etc/profile來生效
(1-4)~/.bashrc:僅會對當前用戶有效;該文件包含專用於你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該該文件被讀取
編輯方法如上,不再贅述
另外,~/.bashrc等中設定的變數(局部)只能繼承/etc/profile中的變數,他們是"父子"關系
綜述,對上述文件修改,添加你需要的變數,在啟動一個shell(終端,terminal)時,你所定義的變數均會生效的。
(2)臨時的:使用export命令聲明即可,變數只在當前的shell(BASH)或其子shell(BASH)下是有效的,在關閉shell後失效,再打開新shell時就沒有這個變數,需要使用的話還需要重新定義
在shell的命令行下直接使用[export 變數名=變數值] 定義變數
環境變數的查看
(1)使用echo命令查看單個環境變數。例如:
echo $PATH
(2)使用env查看所有環境變數。例如:
env
(3)使用set查看所有本地定義的環境變數。例如:
set
另外,unset可以刪除指定的環境變數。
常用的環境變數
PATH 決定了shell將到哪些目錄中尋找命令或程序
HOME 當前用戶主目錄
HISTSIZE歷史記錄數
LOGNAME 當前用戶的登錄名
HOSTNAME指主機的名稱
SHELL 當前用戶Shell類型
LANGUGE 語言相關的環境變數,多語言可以修改此環境變數
MAIL當前用戶的郵件存放目錄
PS1基本提示符,對於root用戶是#,對於普通用戶是$
❹ linux下修改環境變數
按變數的生存周期來劃分,Linux變數可分為兩類,它們的修改方法如下:
(1)永久的:需要修改配置文件,變數永久生效。
常見的配置文件包括:
(1-1)/etc/profile:對所有用戶生效;此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行;並從/etc/profile.d目錄的配置文件中搜集shell的設置
例如:編輯/etc/profile文件,添加CLASSPATH變數
# vi /etc/profile
添加一行:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
修改後需要執行重新登錄才能生效,也可以執行命令source /etc/profile來生效
(1-2)/etc/bashrc:對所有用戶生效;為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取
編輯方法如上,不再贅述
(1-3)~/.bash_profile:僅會對當前用戶有效;每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次
例如:編輯guok用戶目錄(/home/guok)下的.bash_profile
$ vi /home/guok/.bash.profile
添加如下內容:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
修改後需要執行重新登錄才能生效,也可以執行命令source /etc/profile來生效
(1-4)~/.bashrc:僅會對當前用戶有效;該文件包含專用於你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該該文件被讀取
編輯方法如上,不再贅述
另外,~/.bashrc等中設定的變數(局部)只能繼承/etc/profile中的變數,他們是"父子"關系
綜述,對上述文件修改,添加你需要的變數,在啟動一個shell(終端,terminal)時,你所定義的變數均會生效的。
(2)臨時的:使用export命令聲明即可,變數只在當前的shell(BASH)或其子shell(BASH)下是有效的,在關閉shell後失效,再打開新shell時就沒有這個變數,需要使用的話還需要重新定義
在shell的命令行下直接使用[export 變數名=變數值] 定義變數
環境變數的查看
(1)使用echo命令查看單個環境變數。例如:
echo $PATH
(2)使用env查看所有環境變數。例如:
env
(3)使用set查看所有本地定義的環境變數。例如:
set
另外,unset可以刪除指定的環境變數。
常用的環境變數
PATH 決定了shell將到哪些目錄中尋找命令或程序
HOME 當前用戶主目錄
HISTSIZE 歷史記錄數
LOGNAME 當前用戶的登錄名
HOSTNAME 指主機的名稱
SHELL 當前用戶Shell類型
LANGUGE 語言相關的環境變數,多語言可以修改此環境變數
MAIL 當前用戶的郵件存放目錄
PS1 基本提示符,對於root用戶是#,對於普通用戶是$
❺ 在Linux下如何修改環境變數PATH啊
我想在PATH下加一個/tools/bin的路徑用export
PATH=$PATH:/tools/bin後應該是加上去了,但是用
echo
$PATH
還是顯示的原來的$PATH變數的值,感覺用export
PATH=$PATH:/tools/bin只是在原來的$PATH變數後加了一個路徑到當前的PATH下,但是沒有真正修改$PATH的值,怎樣改才能
在echo
$PATH
的時候顯示當前的PATH值呢?就是說怎麼修改變數$PATH?我也試了修改/etc/profile,但是也是只能改PATH的值,但改不了$PATH
變數的值。另外,怎樣取消一個環境變數的只讀屬性?
答:
在你的
~/.bashrc
裡面寫
export
PATH=$PATH:/tools/bin
注銷以後重新登陸就可以。
如果你在某一個終端裡面寫了上面這句話
那隻是在這個終端裡面修改了PATH,而關閉了這個終端,PATH還是原來的PATH.
你在/etc/profile裡面修改PATH是不合理的,因為這個變數可能會被其他的腳本給修改了。所以最好你在
~/.bashrc裡面寫。
PATH的值是一系列目錄,當您運行一個程序時,Linux在這些目錄下進行搜尋。用以下命令可以看到PATH的值。
$
echo
$PATH
例如,在主機中,用戶yogin的PATH值為:
/opt/kde/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/yogin/bin
其中「:」為分隔符。所以,上面的一串目錄可以看成是如下的目錄列表。
/opt/kde/bin
/usr/local/bin
/bin:/usr/bin
/usr/X11R6/bin
/home/yogin/bin
同樣,也是主機中,用戶root的PATH值為:
/opt/kde/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
要修改所有用戶的PATH值,您可以以root身份編輯/etc/profile文件,修改其中包含「PATH=」的一行。
例如,您可以使用pico編輯器打開/etc/profile文件。
$
pico
-w
/etc/profile
pico是一個文本編輯器,而-w選項關閉了長行回繞功能。
中國網管論壇bbs.bitsCN.com
如果您想將當前目錄加入到PATH中,則將「.」加入PATH中,此時PATH的設定如下:
PATH="$PATH:/usr/X11R6/bin:."
注意:在修改了PATH值或任何環境變數後,都要用export將其輸出,新的PATH值才能生效。
❻ linux中如何設置環境變數只對當前用戶起作用
如果要每次登陸都有效果,那麼在用戶家下有個叫.bash_profile的文件;
❼ Linux 修改用戶的環境變數,什麼時候生效
有可能被.bashrc代替了。如果要設置可以在.bashrc里增加。
每次登錄就生效,如果oracle自己修改,使用 . ~/.bashrc就馬上生效。
❽ 怎麼查看修改linux用戶當前的環境變數
查看用戶變數可以先切換到該用戶
su - 用戶名
輸入密碼後:cat .bash_profile
執行後就可以查看到,修變數可以用vim .bash_profile 或者 vi .bash_profile
進入後按i進入插入模式,上下左右鍵選擇游標,寫入信息後按下esc 輸出:wq! 保存並退出。
export -P 列出變數信息
如果不切換用戶查看或者修改用戶變數可以使用下面的方法(必須是root用戶):
cat /home/用戶名/.bash_profile 查看
vim 或者vi /home/用戶名/.bash_profile 修改
註:用戶名請填寫自己的.
❾ 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用戶是#,對於普通用戶是$