我们在学习which命令的时候知道了一系列的命令其实本质上就是一个个可执行的程序。
比如cd命令本体就是/usr/bin/cd这个程序文件。

那么我们就会产生一个疑问?为什么无论在当前工作目录的哪里,都能执行/usr/bin/cd这个程序吗?
这其实就是环境变量的作用啦。

环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性的信息,用以辅助系统运行。
**Linux**系统中执行:**env**命令即可查看当前系统中记录的环境变量。
环境变量是一种 KeyValue 型结构,也就是名称和值:
系统运行中相关的环境变量

回到上面的问题,我们之所以能够在任何地方执行都能执行/usr/bin/cd程序,是因为借助啦环境变量中的PATH值来完成。
image.png
image.png
当执行任何命令的时候,都会按照顺序从上面的目录进行搜索,直到找到cd命令程序。

$符号

在 Linux 系统中,$符号被用于取“变量”的值。
环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用。
取得环境变量的值就可以通过语法:$环境变量名来获得。

例如通过echo输出环境变量PATH的值:
image.png

又比如和其他内容进行混合使用:
image.png

设置环境变量

Linux 环境变量可以进行自行设置:

  • 临时设置,通过export 变量名=变量值

image.png

  • 永久生效
    • 针对当前用户,在当前用户的~/bashrc文件中进行编辑

image.png
然后通过echo $MYNAME就能得到itheima啦。

  • 针对所有用户,在系统的/etc/profile文件中进行编辑image.png

表示在**$PATH**后面拼接一个**:/root/myenv**的路径,如果不加**$PATH**就把**PATH**的值覆盖为**/root/myenv**

  • 并通过语法source配置文件,进行立即生效,或重新登录生效