[英]ReExporting a variable to the environment from a bash script
我有以下bash脚本。
export KEY=A
run_command_that_uses_KEY
...
export KEY=B
run_command_that_uses_KEY
export将变量赋值导出到子shell,即从包含export指令的shell的子进程启动的shell。 命令行环境是脚本外壳程序的父级,因此它看不到变量分配。 如何强制父Shell导出正确的密钥? 我可以在bash脚本本身中获取bash脚本吗?
这是不导出变量的问题。 您可以从bash
方面简单地验证它是否正常工作:
export KEY=A
bash -c 'echo $KEY'
export KEY=B
bash -c 'echo $KEY'
您遇到的问题很可能是您的程序是单个实例。
如果您使用firefox
或gedit
尝试上述操作,您会发现变量第一次起作用,而第二次没有作用。
这是因为第一次,该程序从头开始,而第二次,它只是向旧进程发送一条消息以打开新窗口。
您可以先取消与任务相关的所有进程,然后再再次调用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.