1. 环境变量
环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性信息,用以辅
助系统运行。
在Linux系统中执行:env命令即可查看当前系统中记录的环境变量
环境变量是一种Key-Value型结构,即名称和值,如下图:
如左图,图中记录了:
HOME:/home/shaonian,用户的HOME路径
USER:shaonian,当前的操作用户
PWD:当前工作路径
.....
等等一系列信息,用于辅助系统在运行的时候,从环境变量中获取关键信息。
无论当前工作目录是什么,都能执行/usr/bin/cd这个程序,这个就是借助环境变量中:PATH这个
项目的值来做到的。
[shaonian@localhost ~]$ env | grep PATH
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ishaonian/.local/bin:/home/shaonian/bin
PATH记录了系统执行任何命令的搜索路径,如上图记录了(路径之间以:隔开):
/usr/local/bin
/usr/bin
/usr/local/sbin
/usr/sbin
/home/shaonian/.local/bin
/home/shaonian/bin
当执行任何命令,都会按照顺序,从上述路径中搜索要执行的程序的本体
比如执行cd命令,就从第二个目录/usr/bin中搜索到了cd命令,并执行.
2. $符号
在Linux系统中,$符号被用于取”变量”的值。
环境变量记录的信息,除了给操作系统自己使用外,如果用户想要取用,也可以使用。
取得环境变量的值就可以通过语法:$环境变量名 来取得
比如: echo $PATH
就可以取得PATH这个环境变量的值,并通过echo语句输出出来。
又或者:echo ${PATH}ABC
当和其它内容混合在一起的时候,可以通过{}来标注取的变量是谁。
[shaonian@localhost ~]$ echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ishaonian/.local/bin:/home/shaonian/bin
[shaonian@localhost ~]$ echo ${PATH}ABC
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ishaonian/.local/bin:/home/shaonian/binABC
3. 自行设置环境变量
Linux环境变量可以用户自行设置,其中分为:
临时设置,语法:export 变量名=变量值
永久生效:
针对当前用户生效,配置在当前用户的: ~/.bashrc文件中
针对所有用户生效,配置在系统的: /etc/profile文件中
并通过语法:source 配置文件,进行立刻生效,或重新登录FinalShell生效
[shaonian@localhost ~]$ export SHAONIAN=666
[shaonian@localhost ~]$ echo SHAONAIN
666
自定义环境变量PATH:
环境变量PATH这个项目里面记录了系统执行命令的搜索路径。
这些搜索路径用户也可以自行添加到PATH中去。
测试:
在当前HOME目录内创建文件夹,myenv,在文件夹内创建文件maha
通过vim编辑器,在maha文件内填入:echo 哈哈哈哈哈
完成上述操作后,随意切换工作目录,执行maha命令尝试一下,会发现无法执行。
修改PATH的值:
临时修改 PATH:export PATH = $PATH:/home/shaonian/myenv,再次执行maha,无论在哪里都
能执行了。
或将 export PATH = $PATH:/home/shaonain/myenv,填入用户环境变量文件或系统环境变量文件
中去。