目录
一、环境变量
我们所使用的一系列命令本质上是一个个可执行程序
可以看到cd命令的本体就是:/usr/bin/cd这个程序文件
为何无论当前工作目录在哪里,都能执行/usr/bin/cd这个程序呢?
这就是环境变量的作用
环境变量
环境变量是操作系统在运行的时候,记录的一些关键性信息,用以辅助系统运行。
1、查看当前系统中记录的环境变量 env
- env
- 环境变量是名称与值的格式
2、环境变量:PATH
PATH记录了系统执行任何命令的搜索路径,如上图(路径之间由:隔开)
当执行任何命令,都会按照顺序,从上述路径中搜索要执行的程序本体
所以无论当前工作目录是什么,都能借助环境变量中PATH这个项目的值,来执行程序。
3、$符号
$用于取“变量”的值
eg:echo $PATH,就可以取得PATH这个环境变量,并通过echo语句输出出来
eg:echo ${PATH}AAAA,当和其他内容混在一起时,可以加个{}
4、自行设置变量 export
(1)临时设置,export 变量名=变量值
(2)永久生效
- 针对当前用户生效,配置在当前用户的:~/.bashrc文件中
- 针对所有用户生效,配置在系统的:/etc/profile文件中
- 并通过语法:source配置文件,进行立刻生效,或者重新登陆FinalShell
eg:临时设置
eg:永久生效,针对当前用户生效
eg:永久生效,针对所有用户生效
5、自定义环境变量PATH
环境变量PATH这个项目里面记录了系统执行命令的搜索路径
这些搜索路径我们也可以自行添加到PATH中去
eg:在当前HOME目录中创建文件夹myenv,在文件夹内创建文件test01,通过vim编辑该文件。完成上述操作后,随意切换工作目录,执行test01命令,会发现无法执行。这需要我们在环境变量里加上test01的路径。
在test01中编辑以下内容
因为我们在test01中编辑的命令需要被执行出来,所以需要为该文件加上执行权限x,使用chmod命令进行权限的修改
通过上图执行结果可以看到,切换目录后,test01无法被执行,需要修改环境变量PATH
在/etc/profile文件中,加上test01文件的路径;
之前我们进行变量的编辑形式都是:export LYL=777,现在多了$PATH:,这个意思是指在原有PATH的基础上加上/root/myenv
通过source命令使刚刚修改的环境变量生效,通过下图可以看出无论切换到哪里,都能执行test01