Linux 配置環(huán)境變量
前面小節(jié)介紹了 Linux 系統(tǒng)中如何查看全局環(huán)境變量和局部環(huán)境變量,本小節(jié)介紹如何在 Linux 系統(tǒng)中配置全局環(huán)境變量和局部環(huán)境變量。
1. 環(huán)境變量命令規(guī)范
在 Linux 系統(tǒng)中的 bash shell
有個慣例,全部的系統(tǒng)環(huán)境變量名都使用大寫字母和 _
組成,若是自定義的局部環(huán)境變量或者 shell
腳本,則一般使用小寫字母和 _
組成,這樣寫的好處是自定義系統(tǒng)變量可以避免覆蓋原有的系統(tǒng)全局變量,對生產(chǎn)環(huán)境業(yè)務造成嚴重的影響。系統(tǒng)的環(huán)境變量可以通過 =
賦值,這些值可以是數(shù)字,也可以是字符串,變量名
、=
、變量值
三者之間不能有空格。
2. 配置局部環(huán)境變量
使用 ssh
方式登錄了 CentOs 8
系統(tǒng)之后,就會創(chuàng)建一個 shell
進程,默認的 shell
程序就開始運行了,然后就可以在該 shell
進程內(nèi)自定義局部變量。
2.1 賦值一個局部變量
登錄 CentOs
終端之后,可以使用 =
賦值的方式自定義局部變量,命令如下:
echo $my_val
my_val=nice
echo $my_val
執(zhí)行結(jié)果如下圖:
Tips:注意
變量名
、=
、值
之間不能有空格,若變量值中間有空格,則賦值的時候需要將變量的值用"
包起來,如my_val="very good"
,若不用"
包起來,則空格前面和后面會被隔開當做是 Linux 命令處理了,會出現(xiàn)異常。
2.2 在 shell 子進程中賦值局部變量
在當前 shell
進程中的子進程中賦值命令如下:
my_val="nice"
echo $my_val
bash
my_val="nice son"
echo $my_val
exit
echo $my_val
執(zhí)行結(jié)果如下圖:
Tips:在
shell
子進程中賦值的變量,在子進程結(jié)束之后,這個子進程中的局部變量值就會銷毀。
3. 配置全局環(huán)境變量
3.1 使用 export 設(shè)置全局環(huán)境變量
上述 shell
子進程中賦值的變量若想要在子進程結(jié)束的時候不銷毀,則可以使用如下命令設(shè)置為全局變量,命令如下:
test_val="dog"
echo $test_val
bash
echo $test_val
exit
export test_val
bash
echo $test_val
exit
執(zhí)行結(jié)果如下圖:
Tips:注意在
shell
子進程中不可使用export
命令,注意此時其他新打開的shell
進程窗口無法讀到$test_val
變量。
3.2 設(shè)置所有新窗口 shell 進程中能查看的全局環(huán)境變量
在 /etc/profile
文件中可配置全局環(huán)境變量,使用 vim
命令打開 /etc/profile
文件,在文件末尾添加 test_val="my test dog"
,命令如下:
vim /etc/profile
如下圖所示:
如上圖所示配置好之后,執(zhí)行如下命令:
source /etc/profile
echo $test_val
執(zhí)行結(jié)果如下圖:
在上圖變量配置好了之后可以在新打開的 shell
進程窗口執(zhí)行如下命令:
echo $test_val
執(zhí)行結(jié)果如下圖:
Tips:新打開
shell
進程會讀到/etc/profile
中的全局變量。
4. 小結(jié)
本小節(jié)介紹了如何自定義局部環(huán)境變量和全局環(huán)境變量,其中在 shell
進行中自定義的變量可以使用 export
命令讓這個變量對 shell
子進程可見,需要注意的是 export
命令不可在 shell
子進程中使用,最后還介紹了如何在 /etc/profile
文件中配置全局環(huán)境變量,然后使用 source /etc/profile
就可以查看到這個變量的值了,新打開的 shell
窗口也能訪問到這個變量值。