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
窗口也能访问到这个变量值。