歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux環境變量

在Linux中,環境變量是一個很重要的概念。環境變量可以由系統、用戶、Shell以及其他程序來設定。

變量就是一個可以被賦值的字符串,賦值范圍包括數字、文本、文件名、設備以及其他類型的數據。

下面的例子,我們將為變量 TEST 賦值,然後使用 echo 命令輸出:

$TEST="Linux Programming"
$echo $TEST
Linux Programming

注意:變量賦值時前面不能加 $ 符號,變量輸出時必須要加 $ 前綴。退出 Shell 時,變量將消失。

登錄系統後,Shell會有一個初始化的過程,用來設置環境變量。這個階段,Shell會讀取 /etc/profile 和 .profile 兩個文件,過程如下:

  • Shell首先檢查 /etc/profile 文件是否存在,如果存在,就讀取內容,否則就跳過,但是不會報錯。
  • 然後檢查你的主目錄(登錄目錄)中是否存在 .profile 文件,如果存在,就讀取內容,否則就跳過,也不會報錯。

讀取完上面兩個文件,Shell就會出現 $ 命令提示符:

$

出現這個提示符,就可以輸入命令並調用相應的程序了。

注意:上面是Bourne Shell的初始化過程,bash 和 ksh 在初始化過程中還會檢查其他文件。

.profile文件

/etc/profile文件包含了通用的Shell初始化信息,由Linux管理員維護,一般用戶無權修改。

但是你可以修改主目錄下的 .profile 文件,增加一些“私人定制”初始化信息,包括:

  • 設置默認終端類型和外觀樣式;
  • 設置 Shell 命令查找路徑,即PATH變量;
  • 設置命令提示符。

找到主目錄下的 .profile 文件,使用 vi 編輯器打開並查看內容。

設置終端類型

一般情況下,我們使用的終端是由 login 或 getty 程序設置的,可能會不符合我們的習慣。

對於沒有使用過的終端,可能會比較生疏,不習慣命令的輸出樣式,交互起來略顯吃力。所以,一般用戶會將終端設置成下面的類型:

$TERM=vt100
$

vt100 是 virtual terminate 100 的縮寫。虛擬終端是一種假的終端,真正有自己的顯示器和鍵盤的終端,會通過特殊電纜(如串口)連到計算機主機。vt100 是被絕大多數Linux系統所支持的一種虛擬終端規范,常用的還有ansi、xterm等。

設置PATH變量

在命令提示符下輸入一個命令時,Shell 會根據 PATH 變量來查找該命令對應的程序,PATH變量指明了這些程序所在的路徑。

一般情況下PATH變量的設置如下:

$PATH=/bin:/usr/bin
$

多個路徑使用冒號(:)分隔。如果用戶輸入的命令在PATH設置的路徑下沒有找到,就會報錯,例如:

$hello
hello: not found
$

PS1和PS2變量

PS1變量用來保存命令提示符,可以隨意修改,如果你不習慣使用 $ 作為提示符,也可以改成其他字符。PS1變量被修改後,提示符會立即改變。

例如,把命令提示符設置成’=>’:

$PS1='=>'
=>
=>
=>

也可以將提示信息設置成當前目錄,例如:

=>PS1="[\u@\h \w]\$"
[root@ip-72-167-112-17 /var/www/tutorialspoint/Linux]$
[root@ip-72-167-112-17 /var/www/tutorialspoint/Linux]$

命令提示信息包含了用戶名、主機名和當前目錄。

下表中的轉義字符可以被用作PS1的參數,豐富命令提示符信息。

轉義字符 描述 \t 當前時間,格式為 HH:MM:SS \d 當前日期,格式為Weekday Month Date \n 換行 \W 當前所在目錄 \w 當前所在目錄的完整路徑 \u 用戶名 \h 主機名(IP地址) # 輸入的命令的個數,每輸入一個新的命令就會加1 \$ 如果是超級用戶 root,提示符為#,否則為$。

你可以在每次登錄的時候修改提示符,也可以在 .profile 文件中增加 PS1 變量,這樣每次登錄時會自動修改提示符。

如果用戶輸入的命令不完整,Shell還會使用第二提示符來等待用戶完成命令的輸入。默認的第二命令提示符是 >,保存在 PS2 變量,可以隨意修改。

下面的例子使用默認的第二命令提示符:

$ echo "this is a
> test"
this is a
test
$

下面的例子通過PS2變量改變提示符:

$ PS2="secondary prompt->"
$ echo "this is a
secondary prompt->test"
this is a
test
$

常用環境變量

下表列出了部分重要的環境變量,這些變量可以通過上面提到的方式修改。

變量 描述 DISPLAY 用來設置將圖形顯示到何處。 HOME 當前用戶的主目錄。 IFS 內部域分隔符。 LANG LANG可以讓系統支持多語言。例如,將LANG設為pt_BR,則可以支持(巴西)葡萄牙語。 PATH 指定Shell命令的路徑。 PWD 當前所在目錄,即 cd 到的目錄。 RANDOM 生成一個介於 0 和 32767 之間的隨機數。 TERM 設置終端類型。 TZ 時區。可以是AST(大西洋標准時間)或GMT(格林尼治標准時間)等。 UID 以數字形式表示的當前用戶ID,shell啟動時會被初始化。

下面的例子中使用了部分環境變量:

$ echo $HOME
/root
]$ echo $DISPLAY

$ echo $TERM
xterm
$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/home/amrood/bin:/usr/local/bin
$
Copyright © Linux教程網 All Rights Reserved