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