溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux設(shè)置環(huán)境變量的方法

發(fā)布時(shí)間:2021-07-19 11:24:24 來(lái)源:億速云 閱讀:191 作者:chen 欄目:系統(tǒng)運(yùn)維

本篇內(nèi)容主要講解“Linux設(shè)置環(huán)境變量的方法”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Linux設(shè)置環(huán)境變量的方法”吧!

Linux是一個(gè)多用戶的操作系統(tǒng)。多用戶意味著每個(gè)用戶登錄系統(tǒng)后,都有自己專用的運(yùn)行環(huán)境。而這個(gè)環(huán)境是由一組變量所定義,這組變量被稱為環(huán)境變量。用戶可以對(duì)自己的環(huán)境變量進(jìn)行修改以達(dá)到對(duì)環(huán)境的要求。

設(shè)置環(huán)境變量的方法

  •  對(duì)所有用戶生效的永久性變量

這類變量對(duì)系統(tǒng)內(nèi)的所有用戶都生效,所有用戶都可以使用這類變量。作用范圍是整個(gè)系統(tǒng)。

此文件只在root下才能修改。

# vi /etc/profile  export CLASSPATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib

添加完成后新的環(huán)境變量不會(huì)立即生效,立即生效需要運(yùn)行 source /etc/profile ,否則只能在下次重進(jìn)此用戶時(shí)才能生效。

  •  對(duì)單一用戶生效的永久性變量

在用戶目錄下的.bash_profile 文件中添加變量,該文件是隱藏文件,可使用ll -a查看:

Linux設(shè)置環(huán)境變量的方法

$ whoami   rethink  $ vi /home/rethink/.bash_profile  export CLASSPATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib   $ source /home/rethink/.bash_profile

在上圖中用紅框框住了兩個(gè)文件:.bashrc 和.bash_profile ,原則上講設(shè)置此類環(huán)境變量時(shí)在這兩個(gè)文件任意一個(gè)里面添加都是可以的,這兩個(gè)文件的區(qū)別為:.bash_profile是交互式login方式進(jìn)入bash shell運(yùn)行,.bashrc是交互式non-login方式進(jìn)入bash shell運(yùn)行。

可以理解為.bash_profile文件只會(huì)在用戶登錄的時(shí)候讀取一次,而.bashrc在每次打開(kāi)終端進(jìn)行一次新的會(huì)話時(shí)都會(huì)讀取。

臨時(shí)有效的環(huán)境變量(只針對(duì)當(dāng)前shell有效)

此類環(huán)境變量只對(duì)當(dāng)前的shell有效。當(dāng)我們退出登錄或者關(guān)閉終端再重新打開(kāi)時(shí),這個(gè)環(huán)境變量就會(huì)消失。是臨時(shí)的。

設(shè)置方法:命令行下直接使用[export 變量名=變量值] 定義變量。

$ export NAME="rethink"  $ echo $NAME  rethink

設(shè)置環(huán)境變量常用命令

  •  echo 用于打印顯示環(huán)境變量,如:echo $NAME;

  •  export 用于設(shè)置新的環(huán)境變量,如:export NAME='rethink';

更新環(huán)境變量 更新環(huán)境變量直接重新賦值即可:NAME='test'   (注意:變量名前不需要加$);

  •  env 顯示當(dāng)前用戶的變量;

  •  set 顯示當(dāng)前shell變量,shell變量包含用戶變量;

  •  unset 刪除一個(gè)環(huán)境變量,如:unset NAME;

  •  readonly 設(shè)置環(huán)境變量只讀,如:readonly NAME  ,只讀變量unset無(wú)效。

常用環(huán)境變量

PATH  # echo $PATH  /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

路徑之間用冒號(hào)分隔,這些路徑都是一些可以找到可執(zhí)行程序的目錄列表。當(dāng)我們輸入一個(gè)指令時(shí),shell會(huì)先檢查命令是否是系統(tǒng)內(nèi)部命令,如果不是則會(huì)再去檢查此命令是否是一個(gè)應(yīng)用程序,shell會(huì)試著從PATH中尋找這些應(yīng)用程序。

如果shell在這些路徑目錄里沒(méi)有找到可執(zhí)行文件,就會(huì)報(bào)錯(cuò);若找到,系統(tǒng)將調(diào)用執(zhí)行應(yīng)用程序。通過(guò)設(shè)置PATH ,可以讓我們運(yùn)行程序或指令更加方便。

將某個(gè)目錄路徑加入到PATH中,可以這樣寫(xiě):

$ pwd  /root/docker/httpd  $ export PATH=$PATH:$PWD  $ echo $PATH  /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/docker/httpd  `可以看到在PATH后面已經(jīng)加上了我們當(dāng)前所處目錄的路徑`
  •  HOME

用戶的主工作目錄,即為用戶登錄到Linux系統(tǒng)中時(shí)的默認(rèn)目錄。

$ whoami  rethink  $ echo $HOME  /home/rethink
  •  HISTSIZE

保存歷史命令的條數(shù)。我們輸入的指令都會(huì)被系統(tǒng)保存下來(lái),這個(gè)環(huán)境變量記錄的就是保持指令的條數(shù)。一般為1000。

$ echo $HISTSIZE  1000  $ HISTSIZE=1001  $ echo $HISTSIZE  1001

歷史命令是被保存在內(nèi)存中的,當(dāng)退出或者登錄shell時(shí),會(huì)自動(dòng)保存或讀取我們可以通過(guò)history命令來(lái)查看??梢允褂梅?hào) ! 執(zhí)行指定序號(hào)的歷史命令。例如,要執(zhí)行第2個(gè)歷史命令,則輸入!2。

$ history 5     59  ls     60  who     61  history | head -n 5     62  who am i     63  history 5  $ !62  who am i  root     pts/0        2018-04-04 11:00 (101.81.92.18)
  •  LOGNAME

當(dāng)前用戶登錄名。

$ echo $LOGNAME  rethink
  •  HOSTNAME 主機(jī)名稱。 

$ echo $HOSTNAME  JDu4e00u53f7
  • SHELL

當(dāng)前用戶使用的shell種類。

$ echo $SHELL  /bin/bash

到此,相信大家對(duì)“Linux設(shè)置環(huán)境變量的方法”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI