我一直在寻找答案,并了解了在Mac中执行此操作的不同方法,但是其中一些与Mojave不相关,或者对我不起作用。
我需要在终端(bash)中设置环境变量,运行创建进程的脚本,我希望那些进程知道这些环境变量的值。
我该怎么做?
btw-在.bashrc或.bash_profile中编写导出ENV_NAME = ENV_VAL无效。
答案 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变量。