使用bash脚本中.bashrc中定义的环境变量
如果我们在.bashrc中设置自定义环境变量,如下所示:使用bash脚本中.bashrc中定义的环境变量,bash,environment-variables,Bash,Environment Variables,如果我们在.bashrc中设置自定义环境变量,如下所示: TMP_STRING='tmp string' 这个变量似乎无法从bash脚本直接访问 #!/bin/bash echo $TMP_STRING 我尝试了以下方法,但也不起作用: #!/bin/bash source ~/.bashrc echo $TMP_STRING 在这种情况下,你能建议正确的方法吗? 谢谢大家! JustVAR=value定义一个shell变量。环境变量位于进程内存的一个单独区域中,当另一个进程启动时,
TMP_STRING='tmp string'
这个变量似乎无法从bash脚本直接访问
#!/bin/bash
echo $TMP_STRING
我尝试了以下方法,但也不起作用:
#!/bin/bash
source ~/.bashrc
echo $TMP_STRING
在这种情况下,你能建议正确的方法吗?
谢谢大家! Just
VAR=value
定义一个shell变量。环境变量位于进程内存的一个单独区域中,当另一个进程启动时,该区域将被保留,但在其他方面与shell变量无法区分
要将变量升级为环境变量,必须导出它
例如:
VAR=value
export VAR
或
如果将上面的值放入.bashrc
,则脚本中应该可以使用上面的$VAR
值,但前提是它是从登录shell运行的
我不建议在脚本中搜索.bashrc
。相反,创建一个名为.script.init.sh的单独文件,其源代码如下:
# script init
TMP_STRING='tmp string'
您的脚本:
# script
. ~/.script.init.sh
如果此值必须可用于脚本生成的任何进程,请在其前面加上export
:
# script init
export TMP_STRING='tmp string'
请解释一下“不起作用”是什么意思。你期待什么?到底发生了什么?
# script init
export TMP_STRING='tmp string'