linux环境变量设置消失

时间:2013-11-03 10:57:43

标签: bash environment-variables

我有一个以下的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变量,但是在脚本执行结束后我该怎么做才能使它们可用?

2 个答案:

答案 0 :(得分:4)

  

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

将您的脚本运行为;

source ./script.sh

OR

. ./script.sh

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

答案 1 :(得分:1)

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