为什么我的 Linux Bash 不工作

为什么我的 Linux Bash 不工作

我有以下文件,名为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.shbash创建一个进程,设置重定向,并/bin/bash在该进程中启动以解释您的脚本。您的脚本将环境变量设置添加到进程的环境中。当您的脚本完成时,进程退出,其环境(包含您的更改)将被丢弃。就像@steeldriver:所说的那样,您必须source文件。source在当前shell中解释脚本。一旦环境变量更改被添加到当前shell,它们将被传递给当前shell启动的进程。

相关内容