我们在学习which
命令的时候知道了一系列的命令其实本质上就是一个个可执行的程序。
比如cd
命令本体就是/usr/bin/cd
这个程序文件。
那么我们就会产生一个疑问?为什么无论在当前工作目录的哪里,都能执行/usr/bin/cd
这个程序吗?
这其实就是环境变量的作用啦。
环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性的信息,用以辅助系统运行。
在**Linux**
系统中执行:**env**
命令即可查看当前系统中记录的环境变量。
环境变量是一种 KeyValue 型结构,也就是名称和值:
回到上面的问题,我们之所以能够在任何地方执行都能执行/usr/bin/cd
程序,是因为借助啦环境变量中的PATH
值来完成。
当执行任何命令的时候,都会按照顺序从上面的目录进行搜索,直到找到cd
命令程序。
$符号
在 Linux 系统中,$
符号被用于取“变量”的值。
环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用。
取得环境变量的值就可以通过语法:$环境变量名
来获得。
例如通过echo
输出环境变量PATH
的值:
又比如和其他内容进行混合使用:
设置环境变量
Linux 环境变量可以进行自行设置:
- 临时设置,通过
export 变量名=变量值
- 永久生效
- 针对当前用户,在当前用户的
~/bashrc
文件中进行编辑
- 针对当前用户,在当前用户的
然后通过echo $MYNAME
就能得到itheima
啦。
- 针对所有用户,在系统的
/etc/profile
文件中进行编辑
表示在**$PATH**
后面拼接一个**:/root/myenv**
的路径,如果不加**$PATH**
就把**PATH**
的值覆盖为**/root/myenv**
!
- 并通过语法
source
配置文件,进行立即生效,或重新登录生效