亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

Linux中環境變量配置的步驟詳解

2024-09-01 13:52:30
字體:
來源:轉載
供稿:網友

簡介

我們大家在平時使用Linux的時候,經常需要配置一些環境變量,這時候一般都是網上隨便搜搜就有人介紹經驗的。不過問題在于他們的方法各不相同,有人說配置在/etc/profile里,有人說配置在/etc/environment,有人說配置在~/.bash_profile里,有人說配置在~/.bashrc里,有人說配置在~/.bash_login里,還有人說配置在~/.profile里。。。這真是公說公有理。。。那么問題來了,Linux到底是怎么讀取配置文件的呢,依據又是什么呢?下面這篇文章就來給大家詳細的介紹下,一起來看看吧。

文檔

我一向討厭那種說結論不說出處的行為,這會給人一種“我憑什么相信你”的感覺。而且事實上沒有出處就隨便議論得出的結論也基本上是人云亦云的。事實上,與其去問別人,不如去問文檔。 找了一會,發現關于環境變量配置的相關文檔其實是在bash命令的man文檔里,畢竟我們常用的就是這個shell。

在$man bash里,我發現了下面的一段文字:

INVOCATION  A login shell is one whose first character of argument zero is a -, or  one started with the --login option.  An interactive shell is one started without non-option arguments and  without the -c option whose standard input and error are both connected  to terminals (as determined by isatty(3)), or one started with the -i  option. PS1 is set and $- includes i if bash is interactive, allowing  a shell script or a startup file to test this state.  The following paragraphs describe how bash executes its startup files.  If any of the files exist but cannot be read, bash reports an error.  Tildes are expanded in filenames as described below under Tilde Expan‐  sion in the EXPANSION section.  When bash is invoked as an interactive login shell, or as a non-inter‐  active shell with the --login option, it first reads and executes com‐  mands from the file /etc/profile, if that file exists. After reading  that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile,  in that order, and reads and executes commands from the first one that  exists and is readable. The --noprofile option may be used when the  shell is started to inhibit this behavior.  When a login shell exits, bash reads and executes commands from the  file ~/.bash_logout, if it exists.  When an interactive shell that is not a login shell is started, bash  reads and executes commands from /etc/bash.bashrc and ~/.bashrc, if  these files exist. This may be inhibited by using the --norc option.  The --rcfile file option will force bash to read and execute commands  from file instead of /etc/bash.bashrc and ~/.bashrc.  When bash is started non-interactively, to run a shell script, for  example, it looks for the variable BASH_ENV in the environment, expands  its value if it appears there, and uses the expanded value as the name  of a file to read and execute. Bash behaves as if the following com‐  mand were executed:    if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi  but the value of the PATH variable is not used to search for the file‐  name.

通過這段文字,我們發現其實所謂的環境變量配置文件,就是在shell登陸的時候自動加載的那些文件。不過他所定義的登陸卻分為兩種:

  • login shell登陸。
  • interactive shell登陸。

login shell 登陸

所謂的login shell登陸,實際上就是指需要輸入密碼的登陸。具體的說,包括開機登陸、ssh登陸,或者是輸入bash --login這種“假裝自己輸入密碼登陸”的方式。 在這種登陸方式下,系統會先讀取/etc/profile文件,然后,系統會依次搜索~/.bash_profile、~/.bash_login、~/.profile 這三個文件,并運行只其中第一個存在的文件。 尤其要注意到后三個文件的“邏輯或”的關系。很多情況下我們會發現,明明已經修改了~/.profile文件為什么重新登陸后配置不生效呢?這是因為我們的系統可能存在了前面兩個文件中的一個,導致不會繼續讀取剩下的文件。

下面的三張圖很好的說明了這個問題:

linux如何修改環境變量,linux配置環境變量,linux配置環境變量命令

linux如何修改環境變量,linux配置環境變量,linux配置環境變量命令

linux如何修改環境變量,linux配置環境變量,linux配置環境變量命令

interactive shell 登陸

所謂的interactive shell登陸,其實就是相對于login shell登陸而言的。我們平時在登陸后右鍵打開終端、或者CTRL+ALT+T打開終端都是interactive shell登陸。 在這種登陸方式下,系統會依次讀取/etc/bash.bashrc和~/.bashrc,并加以執行。 通常情況下,~/.bashrc文件里會默認記錄一些常量和一些別名,尤其是$PS1變量,這個變量決定著bash提示符的格式、樣式以及顏色等。

注意:

需要注意的是,這兩種登陸方式讀取的是不同的配置文件,而且互相之間沒有交集,因此當我們需要配置環境變量時,我們要根據自己的登陸方式將需要的變量配置到不同的文件里。 例如下面這個經典的問題。

典型問題

環境配置文件配置異常的例子是,當我用ssh登錄服務器的時候,發現提示符是這樣的:

bash-4.3$

沒錯,就像上面第三張圖片里的那個bash一樣,提示符非常奇怪,而且當輸入ls時文件和文件夾的顏色也沒有區分。 這個問題顯然是由于$PS1這個環境變量沒有配置,導致他用了默認值,雖然查看.bashrc文件時發現有$PS1這個變量的定義。,但是由于ssh屬于login shell,因此他在登陸時讀入的配置文件是/etc/profile一類的文件,并沒有讀入.bashrc。 導致這個問題的原因通常是我們誤刪除了/etc/profile里默認的配置文件,因此解決的辦法也很簡單。。。把.bashrc里的部分文件復制到/etc/profile里就行了。

這個問題給我們的啟示是,當我們為服務器配置變量時,盡量配置到/etc/profile里或者~/.bash_profile里,因為用ssh登錄服務器是基本上用不到.bashrc文件的;當我們給自己的電腦配置環境變量時,盡量配置到.bashrc里,因為這樣我們只要打開終端就會讀入這個文件,這樣就可以不用注銷就能應用配置了(只有注銷重新登錄才會應用/etc/profile一類的配置文件)。

總結

以上就是這篇文章的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美床上激情在线观看| 国产成人激情小视频| 国产成人自拍视频在线观看| 91sao在线观看国产| 亚洲综合色av| 中文字幕综合在线| 2019中文字幕在线观看| 亚洲第一视频在线观看| 日韩免费在线免费观看| 色狠狠av一区二区三区香蕉蜜桃| 日韩av免费一区| 亚洲美女av电影| 国产精品一香蕉国产线看观看| 日韩高清人体午夜| 欧美日韩中文在线| 欧美自拍大量在线观看| 国产视频观看一区| 国产成人综合久久| 日韩精品极品视频免费观看| 国产精品久久久久久久久久久久| 91成人在线视频| 久久久噜久噜久久综合| 国产精品情侣自拍| 日韩精品在线免费| 国产91精品久久久久久| 亚洲欧洲国产精品| 亚洲图片欧洲图片av| 成人福利在线视频| 精品国产91久久久久久| 国产精品久久久久av| 欧美精品18videos性欧美| 中文字幕亚洲天堂| 亚洲综合国产精品| 在线观看亚洲视频| 国产精品视频久久| 欧美精品videosex牲欧美| 最近2019年好看中文字幕视频| 日韩一区二区三区xxxx| 欧美成aaa人片免费看| 91牛牛免费视频| 国产国语刺激对白av不卡| 久久九九亚洲综合| 国产一区深夜福利| 欧美综合激情网| 国产精品一区二区电影| 在线日韩日本国产亚洲| 国产69久久精品成人| 91精品国产高清自在线看超| 日本电影亚洲天堂| 在线观看国产精品91| 日韩在线观看免费av| 精品国产成人在线| 亚洲国模精品一区| 国产97人人超碰caoprom| 曰本色欧美视频在线| 久久精品视频亚洲| 欧美成人性色生活仑片| 国产日韩在线精品av| 亚洲激情视频在线播放| 亚洲性生活视频在线观看| 久久99热精品这里久久精品| 奇米一区二区三区四区久久| 久久韩国免费视频| 国产自摸综合网| 欧美在线www| 国产成人免费91av在线| 亚洲最大在线视频| 久久久精品在线观看| 久久久精品美女| 精品国产拍在线观看| 在线观看日韩视频| 亚洲色图综合久久| 视频一区视频二区国产精品| 亚洲国产日韩精品在线| 精品无人区太爽高潮在线播放| 57pao精品| 性欧美暴力猛交69hd| 久久久免费精品| 国精产品一区一区三区有限在线| 成人亚洲激情网| 激情成人在线视频| 国产精品免费电影| 欧美国产亚洲精品久久久8v| 欧美性感美女h网站在线观看免费| 国产精品pans私拍| 亚洲国产精品小视频| 久久久久久国产精品三级玉女聊斋| 久久99视频免费| 国产男人精品视频| 国产成人精品一区二区在线| 2018中文字幕一区二区三区| 国产精品青青在线观看爽香蕉| 国产精品视频网址| 国产精品成人aaaaa网站| 久久久久女教师免费一区| 日韩精品在线第一页| 亚洲国产天堂久久综合网| 日韩欧美成人免费视频| 国产mv久久久| 亚洲人成在线观看| 2019国产精品自在线拍国产不卡| 中文.日本.精品| 亚洲美女在线观看| 中文字幕日韩在线视频| 久久成人这里只有精品| 欧美成人第一页| 色悠悠久久88| 亚洲欧美资源在线| 久久香蕉精品香蕉| 2019中文在线观看| 亚洲v日韩v综合v精品v| 中文字幕亚洲一区二区三区| 欧美福利视频在线观看| 国产欧美精品一区二区三区-老狼| 中国china体内裑精亚洲片| 在线成人一区二区| 视频在线观看99| 欧美成人午夜影院| 国产精品久久久久久五月尺| 欧美贵妇videos办公室| 欧美一级视频免费在线观看| 欧美激情一区二区三区高清视频| 成人亚洲欧美一区二区三区| 久久久久久尹人网香蕉| 成人av.网址在线网站| 成人精品网站在线观看| 久久理论片午夜琪琪电影网| 欧美性猛交xxxx免费看久久久| 正在播放国产一区| 一级做a爰片久久毛片美女图片| 欧美性猛交xxxx免费看久久久| 精品视频在线播放免| 91在线视频一区| 欧美精品一区二区三区国产精品| 日韩在线视频网| 欧美一区三区三区高中清蜜桃| 成人黄色影片在线| 国产成人高潮免费观看精品| 黄色一区二区三区| 成人免费大片黄在线播放| 久色乳综合思思在线视频| 欧美亚洲午夜视频在线观看| 欧美激情国产日韩精品一区18| 久久精品视频网站| 人妖精品videosex性欧美| 亚洲天堂av图片| 久久久久久亚洲精品| 精品一区二区三区四区| 2019日本中文字幕| 欧美电影免费在线观看| 国产精品香蕉在线观看| 国产亚洲精品久久久| 国产精品视频久久| 午夜精品国产精品大乳美女| 色小说视频一区| 亚洲成人激情视频| 成人免费视频网址| 国产成+人+综合+亚洲欧洲| 国产精品av在线播放| 国产成人在线视频| 亚洲天堂成人在线视频| 欧美成人剧情片在线观看| 国产成人亚洲综合91精品| 国产精品久久久久久av福利|