使用echo输出作为脚本stdin的输入

MKo*_*MKo 4 bash stdin stdout

有一个脚本"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)

无法在当前脚本中设置或修改环境变量.

Bla*_*iev 5

使用流程替换:

source X < <(echo "some input")
Run Code Online (Sandbox Code Playgroud)

它基本上允许您将进程的输入/输出重定向到另一个进程,就像它是一个文件一样.