有一个脚本"X",根据输入将导出一些环境变量.
要在另一个脚本"Y"中运行"X",我执行以下操作:
echo "some input" > temp_file
source X < temp_file
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以做到这一点,而不使用临时文件?
据我所知,在管道的情况下,创建子流程,并运行以下行
echo "some input" | source X
Run Code Online (Sandbox Code Playgroud)
无法在当前脚本中设置或修改环境变量.
使用流程替换:
source X < <(echo "some input")
Run Code Online (Sandbox Code Playgroud)
它基本上允许您将进程的输入/输出重定向到另一个进程,就像它是一个文件一样.