Linux下設定環境變數的檔案

2021-05-25 00:57:16 字數 4346 閱讀 4693

第一篇

bashrc

profile

的區別

要搞清bashrc與profile的區別,首先要弄明白什麼是互動式shell

和非互動式shell

,什麼是login shell 

和non-login shell。

互動式模式就是shell

等待你的輸入,並且執行你提交的命令。這種模式被稱作互動式是因為shell

與使用者進行互動。這種模式也是大多數使用者非常熟悉的:登入、執行一些命令、簽退。當你簽退後,shell

也終止了。shell

也可以執行在另外一種模式:非互動式模式。在這種模式下,shell

不與你進行互動,而是讀取存放在檔案中的命令,

並且執行它們。當它讀到檔案的結尾,shell

也就終止了。

bashrc

與profile

都用於儲存使用者的環境資訊,bashrc

用於互動式non-login

shell

,而profile

用於互動式login shell

。系統中存在許多bashrc

和profile

檔案,下面逐一介紹:

/etc/pro此檔案為系統的每個使用者設定環境資訊,當第乙個使用者登入時,該檔案被執行.

並從/etc/profile.d目錄的配置檔案中蒐集shell的設定.

/etc/bashrc:為每乙個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取。有些linux版本中的/etc目錄下已經沒有了bashrc檔案。

~/. pro每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該

檔案僅僅執行一次!預設情況下,它設定一些環境變數,然後執行使用者的.bashrc檔案.

~/.bashrc:該檔案包含專用於某個使用者的bash shell的bash資訊,當該使用者登入時以及每次開啟新的shell時,該檔案被讀取.

另外,/etc/profile中設定的變數(全域性)的可以作用於任何使用者,而~/.bashrc等中設定的變數(區域性)只能繼承/etc/profile中的變數,他們是"父子"關係.

第二篇

/etc/profile:此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行.

並從/etc/profile.d目錄的配置檔案中蒐集shell的設定.

/etc/bashrc:為每乙個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取.

~/.bash_profile:每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該

檔案僅僅執行一次!預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案.

~/.bashrc:該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該

該檔案被讀取.

~/.bash_logout:當每次退出系統(退出bash shell)時,執行該檔案. 

另外,/etc/profile中設定的變數(全域性)的可以作用於任何使用者,而~/.bashrc等中設定的變數(區域性)只能繼承/etc/profile中的變數,他們是"父子"關係.

~/.bash_profile 是互動式、login 方式進入 bash 執行的

~/.bashrc 是互動式 non-login 方式進入 bash 執行的

通常二者設定大致相同,所以通常前者會呼叫後者。

第三篇

linux

2008-08-28 15:33:09

閱讀1614

字型大小:大中小

訂閱

/etc/profile:此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行.

並從/etc/profile.d目錄的配置檔案中蒐集shell的設定.

/etc/bashrc:為每乙個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取.

~/.bash_profile:每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該

檔案僅僅執行一次!預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案.

~/.bashrc:該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該

該檔案被讀取.

~/.bash_logout:當每次退出系統(退出bash shell)時,執行該檔案. 

另外,/etc/profile中設定的變數(全域性)的可以作用於任何使用者,而~/.bashrc等中設定的變數(區域性)只能繼承/etc/profile中的變數,他們是"父子"關係.

~/.bash_profile 是互動式、login 方式進入 bash 執行的

~/.bashrc 是互動式 non-login 方式進入 bash 執行的

通常二者設定大致相同,所以通常前者會呼叫後者。

設定生效:可以重啟生效,也可以使用命令:source 

alias php=/var/eyouim/pub/php/bin/php

source 

/etc/profile

為使bash更好地為我們服務,我們需定製bash shell環境。

上 面這三個檔案是bash shell的使用者環境配置檔案,位於使用者的主目錄下。其中.bash_profile是最重要的乙個配置檔案,它在使用者每次登入系統時被讀取,裡面的所有 命令都會被bash執行。.profile(由bourne shell和korn shell使用)和.login(由c shell使用)兩個檔案是.bash_profile的同義詞,目的是為了相容其它shell。在debian中使用.profile檔案代 替.bash_profile檔案。

.bashrc檔案會在bash shell呼叫另乙個bash shell時讀取,也就是在shell中再鍵入bash命令啟動乙個新shell時就會去讀該檔案。這樣可有效分離登入和子shell所需的環境。但一般 來說都會在.bash_profile裡呼叫.bashrc指令碼以便統一配置使用者環境。

.bash_logout在退出shell時被讀取。所以我們可把一些清理工作的命令放到這檔案中。

在 /etc目錄的bash.bashrc和profile是系統級(全域性)的配置檔案,當在使用者主目錄下找不到.bash_profile 和.bashrc/時,就會讀取這兩個檔案。.bash_history是bash shell的歷史記錄檔案,裡面記錄了你在bash shell中輸入的所有命令。可通過hissize環境變數設定在歷史記錄檔案裡儲存記錄的條數。alias l = 'ls -l'是設定別名的語句,把它放在這些配置文件中就可使我們能用簡單的'l'命令,代替'ls -l'命令。

當我們修改了這些配置件後,可用source .bash_profile命令使它修改內容馬上生效。

bash shell中的選項可控制shell的行為和功能,我們可以通過shopt命令來設定。使用set命令也可以,但它已被shopt替代,但為了向下兼 容,set命令還是可以使用的。使用不帶引數的shopt命令可以列出當前shell中只能由shopt設定的選項,用shopt -o可列出可由set命令設定的選項。

下面是一些可由set命令基本的選項,預設是關閉的。

emacs                  進入emacs編輯模式

vi 進入vi編輯模式

ignoreeof 不允許單獨使用ctrl_d退出的用法,要使用exit。與ignoreeof=10等價

noclobber 不允許重定向覆蓋已存在檔案

noglob 不允許擴充套件檔名萬用字元

nounset 使用未定義的變數時給出錯誤

下面是一些只能由shopt命令設定的選項。

cdspell          自動改正cd命令引數中的小錯誤

hostcomplete 以@開頭時,按tab鍵可進行主機名的自動完成

dotgblob 以點開始的檔名被包含在路徑名擴充套件中

mailwarn 顯示郵件警告資訊

shopt命令的選項如下:

-p          顯示可設定選項及當前取值

-s 設定每一選項為on

-u 設定每一選項為off

-q 不輸出資訊

-o

Linux下設定環境變數

單獨檢視path環境變數,可用 echo path方法一 在使用者主目錄下的 profile或 bashrc檔案 sudo gedit profile 或者sudo gedit bashrc可以在此檔案末尾加入path的設定如下 export path path your path1 your pa...

linux下設定環境變數

linux下設定環境變數 例如安裝mysql後設定環境變數 1.確認mysql的安裝目錄,可以使用which,whereis命令,還有一種通過檢視server執行狀態的方法,ps ef grep mysql 可以看到mysql的安裝目錄,例如是 usr local mysql 2.進入使用者環境變數...

linux 下設定環境變數

老生常談了,因為今天又用到了,再記錄一下,自己也鞏固一下。1.配置 etc profile 這個指令碼在登入時會執行 全域性 公有 配置,不管是哪個使用者,登入時都會讀取該檔案。2.配置 ect bashrc,在ubuntu下面是 ect bash.bashrc 這個應該是全域性的,我用root登入...