Linux环境变量
Linux环境变量
环境变量是一种存储在操作系统中的特殊变量,用于存储有关系统环境和配置的信息。
它们被用于指定命令行工具和应用程序的行为,以及为用户提供方便的配置选项。
在Linux系统中执行:env命令即可查看当前系统中记录的环境变量。
环境变量是以键值对的形式存在的,其中键是变量的名称,值是变量的内容。
为何无论当前工作目录在哪里,都能执行:/usr/bin/cd这个程序呢?这就是借助环境变量中:PATH这个项目的值来做到的。
PATH记录了系统任何命令的搜索路径,如上图记录了(路径之间以:隔开)
- /usr/local/sbin
- /usr/local/bin
- /usr/sbin
- /usr/bin
- /root/bin
当执行任何命令,都会按照顺序,从上述路径中搜索要执行的程序本体,比如执行cd命令,就从第二个目录/usr/bin中搜索到了cd命令,并执行。
$符号
在Linux系统中,$符号被用于取”变量“的值。
环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用。
取环境变量的值就可以通过语法:$环境变量名 来取。
- 比如:echo $PATH
- 当和其他内容混合在一起的时候,可以通过{}来标注的变量,如:echo ${PATH}ABC
自行设置环境变量
Linux环境变量可以用户自行设置,其中分为
-
临时设置
语法:export 变量名=变量值
-
永久生效
-
针对当前用户生效,配置当前用户的:~/bashrc文件中。
-
针对所有用户生效,配置在系统的:/etc/profile文件中。
-
并通过语法:source {配置文件},进行立刻生效,或重新登录FinalShell生效。
-
自定义环境变量PATH
环境变量PATH这个项目里面记录了系统执行命令的搜索路径。
这些搜索路径我们也可以自行添加到PATH中去。
当我们在终端输入一个命令时,系统会按照一定的顺序在PATH环境变量指定的路径中搜索该命令的可执行文件。
如果找到了该文件,则执行该命令;如果没有找到,则会提示“命令未找到”的错误信息。
测试
- 在当前HOME目录内创建文件夹,myenv,在文件夹内创建文件mk
- 通过vim编辑器,在mk文件内填入:echo “测试”
完成如上操作后,随意切换工作目录,执行mk命令尝试一下,会发现无法执行。
修改PATH的值
-
临时修改PATH的值
export PATH=$PATH:/root/myenv
-
或者,执行vim /etc/profile命令永久修改PATH的值
修改完后,执行source /etc/profile
命令,就可以在任意目录下直接输入文件名执行脚本。