1

我有以下 bash 脚本:

#!/bin/bash
export PYCACHED_HOST='localhost'
export PYCACHED_PORT=8001
echo "PyCached environment variables set to: PYCACHED_HOST=`echo $PYCACHED_HOST`, PYCACHED_PORT=`echo $PYCACHED_PORT`"

当我运行它时,会打印以下输出:

PyCached environment variables set to: PYCACHED_HOST=localhost, PYCACHED_PORT=8001

当我再次运行相同的回声线时:

echo "PyCached environment variables set to: PYCACHED_HOST=`echo $PYCACHED_HOST`, PYCACHED_PORT=`echo $PYCACHED_PORT`"

我得到:

PyCached environment variables set to: PYCACHED_HOST=, PYCACHED_PORT=

我知道 env vars 是为脚本上下文设置的,但是在脚本执行结束后我该怎么做才能使它们可用?

4

2 回答 2

4

what can I do to make them available after the script execution is over?

运行你的脚本;

source ./script.sh

或者

. ./script.sh

这将在当前 shell 中运行您的脚本,而无需创建新进程,因此在脚本结束后,env 变量将在当前 shell 中可用。

于 2013-11-03T11:02:03.013 回答
1

如果您不时需要环境变量,您可以将它们设置在.bashrc文件中。它是一个隐藏文件,通常位于主目录中。它在打开任何 shell 提示符之前执行。

于 2013-11-03T11:15:23.620 回答