Linux下環境變數配置
在linux系統下,如果下載並安裝了應用程式,在啟動時很有可能在鍵入它的名稱時出現"command not found"的提示內容。如果每次都到安裝目標資料夾內,找到可執行檔案 來進行操作就太繁瑣了,這種情況下就涉及到環境變數PATH的設定問題,而PATH的設定也是在linux下定製環境變數的一個組成部分。
環境變數配置的兩個方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
需要注意的是:在/etc/profile裡設定系統環境變數時,路徑末尾不能以"/"結尾,否則將導致整個PATH變量出錯。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
.bash_profile和.bashrc的區別:
1 2 3 4 5 6 7 |
|
=========================設定終端登入超時時間================
1 2 3 4 5 6 7 |
|
1、bash的配置檔案
1)、全域性配置與個人配置
全域性配置
/etc/profile, /rtc/profile.d/*.sh,/etc/bashrc
個人配置
~/.bash_profile, ~/.bashrc
2)、各配置檔案解析:
/etc/profile:此檔案為系統的每個使用者設定環境資訊,當用戶第一次登入時,
該檔案被執行,並從/etc/profile.d目錄的配置檔案中搜集shell的設定,
/etc/bashrc:為每一個執行bash shell的使用者執行此檔案,當bash shell被開啟時,該檔案被讀取。
~/.bash_profile:每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,
當用戶登入時,該檔案僅僅執行一次!預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案。
~/.bashrc:該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該檔案被讀取。
3)、profile類的檔案與basrc類的檔案區別:
profile類的檔案:
設定環境變數
執行命令或指令碼
(1) 資料庫例項
export ORACLE_SID=AMLDB
(2)資料庫主目錄
export ORACLE_HONE=/oracle/product/11.2.4/db
(3)字符集屬性設定,英文,中文字符集
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
或export NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
或export NLS_LANG=SIMPLIFIED CHINESE_CHINA.AL32UTF8
basrc類的檔案:
設定本地變數
定義命令別名
4)、shell如何讀取配置檔案
登入式shell如何讀取配置檔案
/etc/profile -->/etc/profile.d/*.sh
-->~/.bash_profile --> ~/.bashrc -->/etc/bashrc
非登入式shell如何配置檔案
~/.bashrc -->/etc/bashrc-->/etc/profile.d/*.sh
2、export臨時匯入環境變數
$PATH:決定了shell將到哪些目錄中尋找命令或程式,PATH的值是一系列目錄,當您執行一個程式時,Linux在這些目錄下進行搜尋編譯連結。
編輯你的 PATH 宣告,其格式為:
PATH=$PATH:PATH 1:PATH 2:PATH 3: ... :PATH N
其中PATH N 為自己加上指定路徑,中間用冒號隔開。環境變數更改後,在使用者下次登陸時生效,如果想立刻生效,則可執行下面的語句:$ source .bash_profile
完成後,可以通過 $ echo $PATH 或者 export命令檢視當前的搜尋路徑。
這樣定製的好處在於可以避免頻繁的啟動位於 shell 搜尋的路徑之外的程式
注意:該方法新增的PATH 在終端關閉後就會消失。
例項1:export命令將新變數新增到環境中
[[email protected] test ~]$ export -p #顯示當前環境
declare -x CVS_RSH="ssh"
...
declare -x HISTSIZE="1000"
declare -x HOME="/home/gz_fieldyang"...
declare -x PATH="/usr/local/git/bin.../home/gz_fieldyang/bin:"
...
[[email protected] test ~]$ echo $PATH #檢視當前路徑
/usr/local/git/bin.../home/gz_fieldyang/bin
[[email protected] test ~]$ PATH=$PATH:/USER/LOCAL/BIN:/THIS/IS/A/TEST #更新PATH
[[email protected] test ~]$ export PATH #匯出PATH
[[email protected] test ~]$ export
...
declare -x PATH="/usr/local/git/bin.../home/gz_fieldyang/bin:/USER/LOCAL/BIN:/THIS/IS/A/TEST"
...
3、永久生效
可以通過編輯/etc/profile來改PATH,也可以改家目錄下的.bashrc(即:~/.bashrc)
例項2:export命令將新變數新增到環境中(永久生效)
[[email protected] test ~]$ readonly hours_per_day=24 #定義變數並賦值
[[email protected] test ~]$ export PATH=$PATH:/usr/local/bin #更新PATH
[[email protected] test ~]$ export PATH
[[email protected] test ~]$ export -P
[[email protected] test ~]$ echo $PATH
/usr/local/git/bin.../home/gz_fieldyang/bin:/usr/local/bin
[[email protected] test ~]$ echo $hours_per_day
24
[[email protected] test ~]$ vim /etc/profile
...
export PATH="$PATH:/usr/local/bin"
:wq
[[email protected] test ~]$ source /etc/profile
不報錯則成功。
[[email protected] test ~]$ vi .bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
export PATH="$PATH:/usr/local/bin"
[[email protected] test ~]$ source .bashrc
不報錯則成功。