Jes*_*ard 3 macos bash shell terminal environment-variables
我在我的 Mac 上编写了一个 shell 脚本,该脚本在文件夹中运行良好。尝试使其全局可执行我使用了以下脚本:
export PATH="$PATH:~/scripts"
随后,我可以blaster
从任何文件夹运行该命令。但是,如果我关闭终端窗口,似乎 PATH 丢失了,我必须再次运行原始命令。知道为什么export PATH
需要重新建立吗?
不,他们不会
因为您的当前export
保留在您运行脚本的当前 shell 中。一旦 shell 终止,导出的变量就会失去它们的作用域。添加一行
echo 'export PATH=$PATH:~/scripts' >> ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
要使更改永久化,请根据您的登录 shell 在.bashrc
/.bash_profile
或 中添加该行.profile
。这些文件在出现提示之前被读取和获取(在当前 shell 中执行),然后您可以直接调用您的脚本