在Mac OS Mojave上设置全局环境变量

时间:2019-09-18 18:42:44

标签: bash macos environment-variables macos-mojave

我一直在寻找答案,并了解了在Mac中执行此操作的不同方法,但是其中一些与Mojave不相关,或者对我不起作用。

我需要在终端(bash)中设置环境变量,运行创建进程的脚本,我希望那些进程知道这些环境变量的值。

我该怎么做?

btw-在.bashrc或.bash_profile中编写导出ENV_NAME = ENV_VAL无效。

1 个答案:

答案 0 :(得分:-1)

为我工作。您有RTFM吗?例如,〜/ .bashrc 仅由交互式shell读取,而不由shell脚本读取。并且〜/ .bash_profile 仅由登录shell读取。同样,shell脚本通常不使用-l标志来使它们登录Shell。另外,如果在您的〜/ .bashrc 中放入export VAR=value语句,则不会影响当前的交互式shell。您需要启动一个新的shell。例如,通过输入exec bash。完成该操作后,您应该会发现env var已定义。从该交互式会话启动的任何进程(包括shell脚本)都将继承它。

请注意,例如,如果您通过crontab运行脚本,则将需要另一种设置env var的方法。例如,通过使用--init-file标志或BASH_ENV env变量。

相关问题