當前位置:首頁 » 操作系統 » 修改環境變數linux

修改環境變數linux

發布時間: 2023-06-02 04:19:57

1. linux Desktop 環境變數設置

標簽(空格分隔): Linux Deabin AndroidStudio PATH X11

最近電腦上安裝了 Deabin 8 發行版,在配置 Android Studio 所需要的環境變數時出現了一些問題。

修改用戶環境變數配置文件,如 $HOME/.profile 和 $HOME/.bashrc 或者 $HOME/.zshrc ,配置完成之後,可以在終端中 echo 成功顯示修改添加後的 $STUDIO_JDK 和 $PATH ,但點擊桌面添加的快捷方式圖標就一直提示沒有設置所需要的環境變數。

在 $HOME 中新建 .xsessionrc 文件,設置好相關變數即可,例如:

保存完畢之後,注銷重新登錄桌面即可生效。

/etc/X11/xinit/xinitrc 全局初始化腳本執行 /etc/X11/Xsession , Xsession 腳本中又有關於變數的配置。

其中 USERXSESSIONRC=$HOME/.xsessionrc 就是我們添加的文件,在 SYSSESSIONDIR 中,即 /etc/X11/Xsession.d 文件夾下的腳本都會被執行,其中 40x11-common_xsessionrc 這個文件負責執行用戶 HOME 文件夾下的 .xsessionrc 腳本。

內容如下:

2. Linux環境變數PATH設置

/etc/profile和/etc/bashrc都是系統級別的,修改後可以在所有用戶中起作用; /.bash_profile、 /.bashrc和~/.bash_logout都是用戶級別的,修改後只會作用於當前用戶。

帶profile的文件都是需要重新進入用戶時才會生效,帶bashrc的則是打開新的shell時生效;

執行順序:/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout

$ echo $HOME

$ export HELLO="Hello"

$ env

¥ set

readonly TEST

之前介紹的使用 export 命令設置環境變數是在命令行中直接執行,這樣設置的環境變數在退出shell時就會失效。要想設置永久有效的環境變數就需要修改之前提到的文件。

PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>
你可以自己加上指定的路徑,中間用冒號隔開
需要注意的是,最好不要把當前路徑」./」放到PATH里,這樣可能會受到意想不到的攻擊。

特點:所有用戶;永久有效;生效需要重新進入用戶
root許可權:

要想修改完文件後就立即生效,可以在命令行中執行:
# source /etc/profile
Source命令也稱為「點命令」,也就是一個點符號(.)。source命令通常用於重新執行剛修改的初始化文件,使之立即生效,而不必注銷並重新登錄

3. 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」和用戶主目錄下的「.bashp​rofile」,「/etc/profile」對系統里所有用戶都有效,用戶主目錄下的「.bashp​rofile」只對這個用戶有效。exportPATH="

PATH:路徑1:路徑2:…:路徑n"),意思是可執行文件的路徑包括原先設定的路徑,也包括從「路徑1」到「路徑n」的所有路徑。當用戶輸入一個一串字元並按回車後,shell會依次在這些路徑里找對應的可執行文件並交給系統核心執行。那個「

」。

注意,與DOS/Window不同,UNIX類系統環境變數中路徑名用冒號分隔,不是分號。另外,軟體越裝越多,環境變數越添越多,為了避免造成混亂,建議所有語句都添加在文件結尾,按軟體的安裝順序添加。

本文已同步至博客站:

https://www.linuxrumen.com/cyml/859.html

4. 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搜索的路徑之外的程序了。

5. 如何設置linux環境變數

1、控制台中設置,不贊成這種方式,因為他只對當前的shell 起作用,換一個shell設置就無效了:
直接控制台中輸入 : $PATH="$PATH":/NEW_PATH (關閉shell Path會還原為原來的path)
對所有的用戶的都起作用的環境變數
2、修改 /etc/profile 文件,如果你的計算機僅僅作為開發使用時推存使用這種方法,因為所有用戶的shell都有權使用這個環境變數,可能會給系統帶來安全性問題。這里是針對所有的用戶的,所有的shell
vi /etc/profile
在/etc/profile的最下面添加: export PATH="$PATH:/NEW_PATH"
針對當前特定的用戶起作用的環境變數
3、修改bashrc文件,這種方法更為安全,它可以把使用這些環境變數的許可權控制到用戶級別,這里是針對某一特定的用戶,如果你需要給某個用戶許可權使用這些環境變數,你只需要修改其個人用戶主目錄下的 .bashrc文件就可以了。
vi ~/.bashrc
在下面添加:
Export PATH="$PATH:/NEW_PATH"
可以多看看《linux就該這么學》希望可以幫到你

6. 怎麼設置 linux環境變數配置

1、直接用export命令:
#export PATH=$PATH:/opt/au1200_rm/build_tools/bin
查看是否已經設好,可用命令export查看:
[root@localhost bin]# export
declare -x BASH_ENV="/root/.bashrc"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="localhost.localdomain"
declare -x INPUTRC="/etc/inputrc"

7. linux下修改環境變數後一重啟又復位了。

linux下修改環境變數後一重啟又復位了,是設置錯誤造成的,解決方法如下:

1、首先可以查看系統已添加的環境變數,使用命令:echo $PATH

8. 在Linux里設置環境變數的方法(export PATH)

比如要把/etc/apache/bin目錄添加到PATH中,方法有三:

1.#PATH=$PATH:/etc/apache/bin

使用這種方法,只對當前會話有效,也就是說每當登出或注銷系統以後,PATH 設置就會失效

2.#vi /etc/profile

在適當位置添加 PATH=$PATH:/etc/apache/bin (注意:= 即等號兩邊不能有任何空格)

這種方法最好,除非你手動強制修改PATH的值,否則將不會被改變

3.#vi ~/.bash_profile

修改PATH行,把/etc/apache/bin添加進去

這種方法是針對用戶起作用的

注意:想改變PATH,必須重新登陸才能生效,以下方法可以簡化工作:

如果修改了/etc/profile,那麼編輯結束後執行source profile(source /etc/profile) 或 執行點命令 ./profile,PATH的值就會立即生效了。

這個方法的原理就是再執行一次/etc/profile shell腳本,注意如果用sh /etc/profile是不行的,因為sh是在子shell進程中執行的,即使PATH改變了也不會反應到當前環境中,但是source是在當前 shell進程中執行的,所以我們能看到PATH的改變。

這樣你就學會Linux系統下修改環境變數PATH路徑的方法。

補充說明

工作環境設置文件

環境設置文件有兩種:系統環境設置文件 和 個人環境設置文件

1.系統中的用戶工作環境設置文件:

登錄環境設置文件:/etc/profile 

 非登錄環境設置文件:/etc/bashrc

2.用戶個人設置的環境設置文件:

 登錄環境設置文件: $HOME/.bash_profile   //這個是環境變數設置的地方

 非登錄環境設置文件:$HOME/.bashrc       //這個是定義別名的地方

登錄環境:指用戶登錄系統後的工作環境

非登錄環境:指用戶再調用子shell時所使用的用戶環境

9. 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

10. linux下配置自己的環境變數文件my_env.sh

配置環境變數分為系統級和用戶級,系統級所有用戶生效,用戶級針對特定用戶,現場環境根據職能不同,會通過用戶限制操作范圍,環境變數修改以實際需要為准,遵循許可權最小原則。

一般添加系統環境變數,修改/etc/profile文件,如果操作失誤,刪除重要配置,影響系統運行。
centos7版本中 /etc/profile 默認掃描路徑 /etc/profile.d/ 下sh文件,並添加內容到環境變數中,可以通過這種方式不操作/etc/profile增加環境變數。
在/etc/profile.d/下創建文件 my_env.sh,並設置環境變數,如jdk等,內容如下:
vi /etc/profile.d/my_env.sh

編輯用戶文件:~/.bash_profile,增加新path配置信息。如jdk:

自定義命令可以實現很多功能,如項目結構化目錄文件生成、系統命令集合、帶參命令自動填充等,腳本功能決定自定義命令的豐富程度。
創建自定義命令文件目錄,方便集中管理,這里在當前用戶目錄下創建bin目錄:mkdir ~/bin

創建自定義命令文件,文件名為命令名,如vi ~/bin/print,內容列印:echo test,添加文件執行許可權:chmod 700 ~/bin/print

系統級
編輯/etc/profile.d/my_env.sh文件,增加環境變數export PATH= PATH:/home/用戶名/bin
測試
控制台輸入print ,回車即可

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:637
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:366
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:82
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:307
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:789
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:339
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:210
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:810
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:364
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:590