`<(...)`'运算符'的名称是什么?在bash?

时间:2015-07-29 14:21:36

标签: bash io-redirection

我熟悉创建临时文件'用于bash中的命令输入,例如

cat file_1 <(echo hello) file_2

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

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

2 个答案:

答案 0 :(得分:11)

这称为process substitution

  

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

同样来自Bash Reference Manual → 3.5.6 Process Substitution

  

进程替换允许使用文件名引用进程的输入或输出。它采取

的形式
<(list)
     

>(list)
     

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

     

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

答案 1 :(得分:1)

也称为“匿名FIFO”。