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

Bash 在Mac OS Mojave上设置全局环境变量,bash,macos,environment-variables,macos-mojave,Bash,Macos,Environment Variables,Macos Mojave,我一直在寻找答案,并且读到了在Mac上实现这一点的不同方法,但其中一些方法与莫哈韦无关,或者根本不适合我 我需要在终端(bash)中设置环境变量,运行创建进程的脚本,我希望这些进程知道这些环境变量的值 我该怎么做 顺便说一句,在.bashrc或.bash_配置文件中写入export ENV_NAME=ENV_VAL不起作用。对我很有效。有你?例如,~/.bashrc仅由交互式shell读取,而不是由shell脚本读取。和~/.bash_配置文件仅由登录shell读取。同样,shell脚本通常不使

我一直在寻找答案,并且读到了在Mac上实现这一点的不同方法,但其中一些方法与莫哈韦无关,或者根本不适合我

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

我该怎么做

顺便说一句,在.bashrc或.bash_配置文件中写入export ENV_NAME=ENV_VAL不起作用。

对我很有效。有你?例如,~/.bashrc仅由交互式shell读取,而不是由shell脚本读取。和~/.bash_配置文件仅由登录shell读取。同样,shell脚本通常不使用使其登录shell的
-l
标志。另外,如果在~/.bashrc中放入
export VAR=value
语句,则不会影响当前的交互式shell。你需要开始一个新的shell;e、 例如,通过键入
execbash
。一旦您这样做,您应该会发现已定义了env var。它将被任何进程继承,包括从该交互会话启动的shell脚本

请注意,例如,如果通过crontab运行脚本,则需要使用不同的方法来设置env变量。例如,使用
--init file
标志或
BASH_env
env变量