我注意到,例如,在使用 bash -c bla.sh 启动脚本时,不会获取 ~/.bashrc。那么我还能如何提供环境变量呢?最好不要在调用中明确设置它们。
答案1
您可以在命令行上提供它们(您已声明您不想要):
MYVAR=hello ./bla.sh
您可以先设置并导出它们:
MYVAR=hello
export MYVAR
./bla.sh
或者
export MYVAR=hello
./bla.sh
您可以设置“环境“文件,并在脚本中提供该文件(这是~/.bashrc
处理方式):
echo "MYVAR=hello" > test.env
./bla.sh
之内bla.sh
:
source test.env
echo ${MYVAR}
请注意,.
(句点/点)是 的别名source
,因此您可以用. test.env
代替source text.env
。
如果你想进口你的~/.bashrc
,那么你可以使用source ~/.bashrc
...但这通常会为终端/交互式环境配置一些东西——这不是脚本的运行方式。