HuLu ViCa Asked: 2022-06-23 13:53:41 +0800 CST2022-06-23 13:53:41 +0800 CST 2022-06-23 13:53:41 +0800 CST 为什么我的 linux bash 不工作 772 我有以下文件,名为set_env_lin.sh: #!/bin/bash export SLACK_WEBHOOK_DEV=some_value_1 export SLACK_WEBHOOK_REAL=some_value_2 我按照本指南将其设置为 bash 文件,但是当 y call 时echo $SLACK_WEBHOOK_REAL,我没有设置任何值。 我究竟做错了什么? bash 1 个回答 Voted Best Answer waltinator 2022-06-24T10:16:32+08:002022-06-24T10:16:32+08:00 当您创建一个进程./set_env_lin.sh、bash设置重定向并/bin/bash在该进程中开始解释您的脚本时。您的脚本将环境变量设置添加到进程的环境中。当您的脚本完成时,该进程退出,并且它的环境(以及您的更改)被丢弃。就像@steeldriver:说source的那样,你必须文件。source解释当前 shell 中的脚本。将环境变量更改添加到当前 shell 后,它们将被传递到当前 shell 启动的进程。
当您创建一个进程
./set_env_lin.sh
、bash
设置重定向并/bin/bash
在该进程中开始解释您的脚本时。您的脚本将环境变量设置添加到进程的环境中。当您的脚本完成时,该进程退出,并且它的环境(以及您的更改)被丢弃。就像@steeldriver:说source
的那样,你必须文件。source
解释当前 shell 中的脚本。将环境变量更改添加到当前 shell 后,它们将被传递到当前 shell 启动的进程。