儲存有關 shell 會話和工作環境的資訊。這項特性允許在記憶體儲存資料。以便程式或 shell 執行的指令碼能夠輕鬆訪問它們。
環境變數分為兩類:
當然,有些人不分類,只把全域性環境變數稱為環境變數,不把區域性環境變數稱為環境變數。
全域性環境變數可以在對其做出定義的父程序所建立的子程序中使用。
區域性環境變數只能在定義它們的程序中使用。
命令說明
set顯示當前 shell 所有變數,包括其內建環境變數(與 shell 外觀等相關),使用者自定義變數(區域性變數)及匯出的全域性環境變數。一般用該命令檢視區域性環境變數,因為沒有檢視區域性變數的特定命令。
env顯示與當前使用者相關的全域性環境變數,還可以讓命令在指定環境中執行。
export
顯示從 shell 中匯出成環境變數的變數,也能通過它將自定義區域性變數匯出為全域性環境變數。
運用三個命令來理解全域性變數和區域性變數:
# 首先在此 shell 中建立乙個變數 temp
temp=test # 等號兩邊不能是空格,即不能是 temp = test
使用echo 命令可以顯示變數的值,但需要在變數前加上 $(有點像 c++ 中的引用)
echo
$temp
# 結果是 test
建立乙個子 shell,並再次顯示變數值
zsh
echo
$temp
# 結果為空
結果為空表明該變數只能在在定義它們的程序中使用,此時變數為區域性環境變數。
返回到之前的 shell 程序,將並該變數匯出為全域性環境變數:
exit
export temp
zshecho
$temp
# 結果為 test
說明此時變數為全域性環境變數了。
【注】改變子 shell 中的全域性變數不會影響父 shell 中全域性變數。即使子 shell 重新定義並匯出變數。
unset命令。
$ echo
$temp
test
$ unset temp
$ echo
$temp
$
【注】$ 的使用。如果使用變數,加上 $;如果操作 $,不使用 $。
當在 shell 命令列介面中輸入乙個外部命令時,shell 必須搜尋系統來找到對應的程式。path 環境變數定義了用於進行命令和程式查詢的目錄。
$ echo
$path
/usr/local/sbin:/usr/local/bin:/usr/sbin:
/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
輸出顯示了 8 個可供 shell 用來查詢的命令和程式。path中的目錄使用冒號分隔。
如果命令或程式的位置沒有在 path 變數中,那麼若不使用絕對路徑的話,shell 是沒法找到。
$ path=$path:/home/shiyanlou/mybin
使用上述命令可以把 mybin 目錄新增至 path。冒號後跟的是絕對路徑。
此時在命令列中可執行 mybin 中的命令或程式。
# hello_world.c 在 mybin 目錄內,hello_world.c已編譯為 hello_world
# 將 mybin 添至 pathhello_woeld 前
$ hello_world
-bash: hello_world.c: command not found
# 將 mybin 添至 pathhello_woeld 後
$ hello_world
hello world!
程式設計師通常將單點符也加入 path 中。該單點符代表當前目錄
$ path=$path:.
$ cd /home/shiyanlou/mybin
$ hello_world
hello world!
在登入 linux 啟動乙個 bash shell 時,預設情況下 bash 會在幾個檔案中查詢命令,這些檔案叫作啟動檔案或環境檔案。而這些啟動檔案取決於啟動 bash 的方式。
啟動 bash 的方式:
1.6.1 登入 shell
此種啟動方式有 5 種不同的啟動檔案:
/etc/profile是預設的 bash shell 主啟動檔案;
剩下的啟動檔案都起乙個作用:提供乙個使用者專屬的啟動檔案來定義該使用者所用到的環境變數。
另外兩種方式以後再說,有些東西是以後的知識。
1.6.4 環境變數持久化
Linux基礎入門 環境變數
declare tmptmp variableecho tmp注意 變數名只能以英文本母,數字,下劃線組成,並且首字母不能為數字 環境變數的作用域比變數大,簡單理解就是當前程序的子程序有效的變數即為環境變數.temp variable 建立變數 zsh 建立子shell echo temp 值為空,...
Linux入門 環境配置
因為研究生階段要使用linux系統,所以在這裡記錄一下我的學習過程。secure shell ssh 是一種安全網路協議。在windows下使用ssh連線linux系統,需要用到ssh軟體。我用的第一款ssh軟體是putty putty用它來遠端管理 linux 十分好用,其主要優點如下 putty...
linux環境程式設計 環境變數 列印環境變數
在shell程式設計主題中,我們已經大致的介紹過 環境變數和本地變數啦 我們今天來具體的介紹介紹,那環境變數到底是什麼呢?是我 一.環境變數含義 特徵 環境變數是指 作業系統中用來指定作業系統執行環境的一下引數 1 特徵 字串 有統一的格式 名 值 值 值用來描述程序的環境資訊 2 使用形式 與命令...