我有以下文件,名为set_env_lin.sh
:
#!/bin/bash
export SLACK_WEBHOOK_DEV=some_value_1
export SLACK_WEBHOOK_REAL=some_value_2
我跟着本指南使其成为 bash 文件,但是当 y 调用时echo $SLACK_WEBHOOK_REAL
,我没有设置任何值。
我究竟做错了什么?
答案1
当您 时./set_env_lin.sh
,bash
创建一个进程,设置重定向,并/bin/bash
在该进程中启动以解释您的脚本。您的脚本将环境变量设置添加到进程的环境中。当您的脚本完成时,进程退出,其环境(包含您的更改)将被丢弃。就像@steeldriver:所说的那样,您必须source
文件。source
在当前shell中解释脚本。一旦环境变量更改被添加到当前shell,它们将被传递给当前shell启动的进程。