亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

Linux 配置環境變量

前面小節介紹了 Linux 系統中如何查看全局環境變量和局部環境變量,本小節介紹如何在 Linux 系統中配置全局環境變量和局部環境變量。

1. 環境變量命令規范

在 Linux 系統中的 bash shell 有個慣例,全部的系統環境變量名都使用大寫字母和 _ 組成,若是自定義的局部環境變量或者 shell 腳本,則一般使用小寫字母和 _ 組成,這樣寫的好處是自定義系統變量可以避免覆蓋原有的系統全局變量,對生產環境業務造成嚴重的影響。系統的環境變量可以通過 = 賦值,這些值可以是數字,也可以是字符串,變量名、=、變量值 三者之間不能有空格。

2. 配置局部環境變量

使用 ssh 方式登錄了 CentOs 8 系統之后,就會創建一個 shell 進程,默認的 shell 程序就開始運行了,然后就可以在該 shell 進程內自定義局部變量。

2.1 賦值一個局部變量

登錄 CentOs 終端之后,可以使用 = 賦值的方式自定義局部變量,命令如下:

echo $my_val

my_val=nice

echo $my_val

執行結果如下圖:

圖片描述

Tips:注意 變量名、= 之間不能有空格,若變量值中間有空格,則賦值的時候需要將變量的值用 " 包起來,如 my_val="very good",若不用 " 包起來,則空格前面和后面會被隔開當做是 Linux 命令處理了,會出現異常。

2.2 在 shell 子進程中賦值局部變量

在當前 shell 進程中的子進程中賦值命令如下:

my_val="nice"

echo $my_val

bash

my_val="nice son"

echo $my_val

exit

echo $my_val

執行結果如下圖:

圖片描述

Tips:在 shell 子進程中賦值的變量,在子進程結束之后,這個子進程中的局部變量值就會銷毀。

3. 配置全局環境變量

3.1 使用 export 設置全局環境變量

上述 shell 子進程中賦值的變量若想要在子進程結束的時候不銷毀,則可以使用如下命令設置為全局變量,命令如下:

test_val="dog"

echo $test_val

bash

echo $test_val

exit

export test_val

bash

echo $test_val

exit

執行結果如下圖:

圖片描述

Tips:注意在 shell 子進程中不可使用 export 命令,注意此時其他新打開的 shell 進程窗口無法讀到 $test_val 變量。

3.2 設置所有新窗口 shell 進程中能查看的全局環境變量

/etc/profile 文件中可配置全局環境變量,使用 vim 命令打開 /etc/profile 文件,在文件末尾添加 test_val="my test dog",命令如下:

vim /etc/profile

如下圖所示:

圖片描述

如上圖所示配置好之后,執行如下命令:

source /etc/profile

echo $test_val

執行結果如下圖:

圖片描述

在上圖變量配置好了之后可以在新打開的 shell 進程窗口執行如下命令:

echo $test_val

執行結果如下圖:

圖片描述

Tips:新打開 shell 進程會讀到 /etc/profile 中的全局變量。

4. 小結

本小節介紹了如何自定義局部環境變量和全局環境變量,其中在 shell 進行中自定義的變量可以使用 export 命令讓這個變量對 shell 子進程可見,需要注意的是 export 命令不可在 shell 子進程中使用,最后還介紹了如何在 /etc/profile 文件中配置全局環境變量,然后使用 source /etc/profile 就可以查看到這個變量的值了,新打開的 shell 窗口也能訪問到這個變量值。