Linux環境變數具體內容介紹

2022-08-28 00:57:22 字數 2910 閱讀 5710

在linux中,環境變數是乙個很重要的概念。環境變數可以由系統、使用者、shell以及其他程式來設定。

變數就是乙個可以被賦值的字串,賦值範圍包括數字、文字、檔名、裝置以及其他型別的資料。

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

$test="linux programming"

$echo $test

linux programming

注意:變數賦值時前面不能加 $ 符號,變數輸出時必須要加 $ 字首。退出 shell 時,變數將消失。

登入系統後,shell會有乙個初始化的過程,用來設定環境變數。這個階段,shell會讀取 /etc/profile 和 .profile 兩個檔案,過程如下:

讀取完上面兩個檔案,shell就會出現 $ 命令提示符:

$
出現這個提示符,就可以輸入命令並呼叫相應的程式了。

注意:上面是bourne shell的初始化過程,bash 和 ksh 在初始化過程中還會檢查其他檔案。

/etc/profile檔案包含了通用的shell初始化資訊,由linux管理員維護,一般使用者無權修改。

但是你可以修改主目錄下的 .profile 檔案,增加一些「私人定製」初始化資訊,包括:

找到主目錄下的 .profile 檔案,使用 vi 編輯器開啟並檢視內容。

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

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

$term=vt100

$

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

在命令提示符下輸入乙個命令時,shell 會根據 path 變數來查詢該命令對應的程式,path變數指明了這些程式所在的路徑。

一般情況下path變數的設定如下:

$path=/bin:/usr/bin

$

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

$hello

hello: not found

$

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

$

Linux環境變數具體解釋

etc profile 在登入時,作業系統定製使用者環境時使用的第乙個檔案。此檔案為系統的每乙個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行。並從 etc profile.d資料夾的配置檔案裡蒐集shell的設定。etc bashrc 為每個執行bash shell的使用者執行此檔案.當b...

linux環境變數介紹

一 linux環境變數概念的重要性 最初用linux是為了學習機械人作業系統 ros 由於之前沒有接觸過linux,所以並不了解其中的一些關鍵概念,導致走了許多彎路,如在ros的安裝過程中,沒有理解安裝教程中的1.6 環境變數建立中的指令的意義,所以導致有時在自己工作空間建立的包會有找不到的情況。因...

諾基亞 5G合同是和誰籤的 合同具體內容介紹

程式設計驛站 www.cppcns.com 注 美國電信公司t mobile周一表示,該公司已和諾基亞達成了供貨協議,由諾基亞為t mobile提供 35 億美元的5g裝置。據悉,這也是迄今為止,諾基亞公司獲得的規模最大的5g合同。據公開資料顯示,t mobile是美國第三大電信公司,一旦與spri...