一、什么是环境变量
我们知道,命令其实就是可执行程序,比如说,cd命令就是一个可执行程序。不过我们平常一直都是在任意的目录下都可以使用cd命令的,难道你们就不好奇为什么吗?
其实这就是环境变量的作用,当我们把cd程序的目录配置到环境变量PATH中时,我们就可以在任意目录下执行cd命令了!
环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性信息,用以辅助系统运行。
1.查看所有环境变量
功能:查看当前系统中记录的环境变量
语法:env
环境变量是一种KeyValue型结构,即名称和值,如下图:
HOME:/home/itheima,用户的HOME路径
USER:itheima,当前的操作用户
PWD:当前工作路径
…
2.PATH环境变量
记录了系统执行命令的搜索路径
无论当前工作目录是什么,都能执行/usr/bin/cd这个程序,这个就是借助环境变量中PATH的值来做到的:
可以看到,PATH记录了多个路径,每个路径用冒号分隔开。当我们执行命令时,会首先在当前目录进行查找程序,如果没有的话再去PATH记录的路径中挨个去查找,如果都没有则失败;如果查找到了则可以执行。
二、$
取环境变量值
功能:取指定的环境变量的值
语法:$ 环境变量名
echo $PATH
:将PATH的值取出并打印
echo ${PATH}GentleBrother
:将PATH的值取出并拼接GentleBrother一起输出
注意:当和其它内容混合在一起的时候,可以通过{}来标注取的变量是谁
三、自定义环境变量
1.临时设置
语法:
export 变量名=值
2.永久生效
针对当前用户生效,将
export 变量名=值
添加在当前用户的: ~/.bashrc文件最后
针对所有用户生效,将export 变量名=值
添加在系统的: /etc/profile文件最后
并通过语法:source 配置文件
,进行立刻生效,或重新登录FinalShell生效
3.新玩法:自定义PATH
玩法:自己写一个程序,然后将所在目录添加到PATH中,并且针对所有用户永久生效
切换到root用户
创建文件夹myenv,并创建文件printf_
mkdir myenv
cd myenv
vim printf_
在printf_文件中写入:
echo 温柔哥!!!
然后按Esc进入底线命令模式,输入
:wq
退出并保存
修改文件权限为可执行文件
chmod 755 printf_
修改PATH
编辑
/etc/profile
文件vim /etc/profile
在最后写入
export PATH=$PATH:/root/myenv
保存并退出,并使用source命令使得立即生效source /etc/profile
在任意目录下测试printf_
切换到其他用户,可以看到对PATH的修改也生效了
注意:如果是之前登录的用户,可能需要退出重新登录一下,因为一下子没加载