标签: bash stdout stdin
有一个脚本“X”,根据输入将导出一些环境变量。
要在另一个脚本“Y”中运行“X”,我会执行以下操作:
echo "some input" > temp_file source X < temp_file
有没有其他方法可以做到这一点,而不使用临时文件?
据我所知,在管道的情况下,创建子流程,并运行以下行
echo "some input" | source X
无法在当前脚本中设置或修改环境变量。
答案 0 :(得分:5)
使用process substitution:
source X < <(echo "some input")
它基本上允许您将进程的输入/输出重定向到另一个进程,就好像它是一个文件一样。