【问题标题】:What is the name for `<(...)` 'operator' in bash?bash 中的 `<(...)` 'operator' 的名称是什么?
【发布时间】:2015-10-20 14:22:27
【问题描述】:

我熟悉在 bash 中为命令输入创建“临时文件”,例如

cat file_1 <(echo hello) file_2

我想了解更多有关该主题的信息,但我不知道&lt;( ) 运算符的名称。我怀疑这是一种 IO 重定向。

这个符号/运算符有名字吗?

【问题讨论】:

    标签: bash io-redirection


    【解决方案1】:

    这叫process substitution

    进程替换是一种重定向形式,其中输入或 进程的输出(某些命令序列)显示为临时的 文件。

    同样来自Bash Reference Manual → 3.5.6 Process Substitution

    进程替换允许使用文件名来引用进程的输入或输出。它的形式是

    <(list)
    

    >(list)
    

    进程列表异步运行,其输入或输出显示为文件名。作为扩展的结果,此文件名作为参数传递给当前命令。如果使用 >(list) 形式,写入文件将为列表提供输入。如果使用 和左括号之间不能出现空格,否则该构造将被解释为重定向。支持命名管道 (FIFO) 或 /dev/fd 命名打开文件方法的系统支持进程替换。

    如果可用,进程替换与参数和变量扩展、命令替换和算术扩展同时执行。

    【讨论】:

      【解决方案2】:

      也称为“匿名 FIFO”。

      【讨论】:

      • 这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review
      • @TobySpeight 它确实提供了问题的答案。
      猜你喜欢
      • 2015-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-09
      • 2010-12-08
      • 1970-01-01
      • 1970-01-01
      • 2013-05-17
      相关资源
      最近更新 更多