什么是环境变量?
环境变量,顾名思义,是指在操作系统的Shell环境中定义的变量。这些变量对Shell和运行在Shell中的程序都是可见的。它们通常用于:
- 存储重要的系统信息:比如,
PATH
环境变量保存了系统搜索可执行文件的目录。
- 控制程序的配置:例如,
JAVA_HOME
用来告诉系统Java安装在哪里。
- 保存用户信息:像
HOME
包含了用户的主目录路径。
- 自定义Shell体验:如
PS1
定义了你的Shell提示符外观。
示例:PATH环境变量
当你在终端输入命令比如
python
或git
时,系统如何知道要执行哪个程序呢?答案就在PATH
环境变量中。这个变量包含了一系列目录,系统会按顺序搜索这些目录,找到第一个匹配的可执行文件来运行。查看你的PATH环境变量:
bashCopy code echo $PATH
设置环境变量
在Unix/Linux/macOS中,设置环境变量的命令是
export
:bashCopy code export MY_VAR="Hello World"
现在,
MY_VAR
在当前会话及其子进程中有效。临时设置环境变量
有时你只想让环境变量对一个命令有效,可以这样做:
bashCopy code MY_VAR="temporary" ./run_my_script.sh
这里
MY_VAR
仅对run_my_script.sh
脚本有效。持久化环境变量
将变量添加到
.bashrc
或.bash_profile
:bashCopy code echo 'export MY_VAR="Hello World"' >> ~/.bashrc
这样,每次打开新的Shell时,
MY_VAR
都会被设置。环境变量的作用域
在Shell中设置的环境变量默认不会影响到其他已经开启的Shell会话。它们只影响当前Shell及其派生的子Shell。
bashCopy code export GLOBAL_VAR="visible_in_subshells"
这个变量在当前Shell及其启动的任何子Shell中都可见。
结论
环境变量是Shell编程中一个不可或缺的部分,理解并有效地使用它们,可以大大提高你的工作效率和编程体验。希望这篇文章能帮助你更好地理解和使用环境变量。别忘了,实践是最好的学习方式。打开你的终端,开始尝试吧!