【问题标题】:Use echo output as input into a script's stdin使用 echo 输出作为脚本标准输入的输入
【发布时间】:2012-02-06 13:12:33
【问题描述】:

有一个脚本“X”,根据输入会导出一些环境变量。

要在另一个脚本“Y”中运行“X”,我执行以下操作:

echo "some input" > temp_file
source X < temp_file

有没有其他方法可以做到这一点,而不使用临时文件?

据我了解,在管道的情况下会创建一个子进程,并通过运行以下行

echo "some input" | source X

不能在当前脚本中设置或修改环境变量。

【问题讨论】:

    标签: bash stdout stdin


    【解决方案1】:

    使用process substitution:

    source X < <(echo "some input")
    

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

    【讨论】:

      猜你喜欢
      • 2013-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-18
      • 1970-01-01
      • 2011-12-04
      相关资源
      最近更新 更多