1. 程式人生 > >Linux Shell中的變數-環境變數

Linux Shell中的變數-環境變數

參考:《Linux命令 / 編輯器與Shell程式設計》

################################################

note that :與其他程式語言不同,Bash中的變數沒有資料型別的區別,變數中的值都是以字串的形式儲存的,如果要進行數值計算,需要進行特殊轉換

Linux Shell下的變數按其使用目的可分為3種類型:

環境變數:用於儲存作業系統執行時使用的環境引數

位置變數:Bash將傳遞給指令碼的引數儲存在位置變數中,以便於在指令碼中引用這些引數

預定義變數:由系統保留和維護的一組特殊的變數,這些變數通常用於儲存程式執行狀態等

自定義變數:由使用者自行定義的變數,可用於使用者編寫的指令碼,多個命令間的值傳遞等

#########################################################

儲存系統執行情況的環境變數

系統環境變數是使用者登陸系統時,由系統自動生成並設定的一組變數。所有的程序 / 指令碼都可以引用這些變數,因此環境變數的值通常與系統息息相關。

可使用set命令檢視環境變數

# set

1.系統中常見的環境變數

(1)家目錄位置變數HOME

HOME變數用於儲存當前登陸使用者的家目錄位置,這個變數的值是由系統使用者檔案/etc/passwd中的使用者家目錄欄位定義的。檢視當前使用者的家目錄如下:

#使用echo命令檢視變數HOME的值
# echo $HOME

(2)系統語言變數LANG

LANG變數用於儲存系統當前使用的語言,如果要臨時修改當前系統使用的語言,通常可以通過修改該變數的值來實現。檢視當前系統使用的語言如下:

#檢視變數LANG中儲存的系統語言
# en_US.UTF-8表示英語 zh_CN.UTF-8表示簡體中文
# echo $LANG

臨時修改系統語言可以重新指定此變數的值:
#修改環境變數LANG的值為zh_CN.UTF-8
# LANG=zh_CN.UTF-8

(3)互動程式變數SHELL

SHELL變數用於儲存使用者當前使用的Shell。可以通過檢視該變數值的方法,快速檢視當前使用的Shell

#快速檢視當前使用者使用的Shell
# echo $SHELL

(4)命令搜尋路徑變數PATH

PATH變數用於儲存當前使用者使用的命令搜尋路徑。當用戶輸入命令時,系統會嘗試在該變數儲存的目錄中查詢命令檔案

#通過檢視變數PATH值的方法檢視當前使用者的命令搜尋路徑
# echo $PATH

note that:PATH使用冒號":"將不同的目錄分隔開

2.只讀環境變數

只讀環境變數的值是無法更改的

#使用readonly命令檢視只讀環境變數
# readonly

3.如何修改環境變數

可以在命令提示符中修改環境變數,但在命令提示符中修改的環境變數將在使用者重新登入 / 系統重啟後消失,這是可以在配置檔案中修改環境變數:

/etc/profile:全域性使用者配置檔案。如果修改了此檔案的設定,修改的設定將會影響系統中的所有使用者

~/.bash_profile:使用者個人配置檔案。如果修改了此檔案中的變數,修改的設定只會影響單個使用者

/etc/bashrc:全域性環境變數配置檔案。此檔案中定義了所有使用者的環境變數

~/.bashrc:個人環境變數配置檔案。此檔案中定義了使用者的環境變數

note that:~表示家目錄 .bash_profile和.bashrc是隱藏檔案(.開頭的為隱藏檔案) 以上四個檔案單獨修改一個即可,且有時可能某個檔案不存在

如果想讓修改後的環境變數立即生效,可以執行命令:

# source xxx  #xxx表示你修改的檔案
例如 source /etc/profile