我熟悉创建临时文件'用于bash中的命令输入,例如
cat file_1 <(echo hello) file_2
我想了解有关该主题的更多信息,但我不知道<( )
运算符的名称。我怀疑它是一种IO重定向。
这个符号/运算符有名称吗?
答案 0 :(得分:11)
进程替换是一种重定向形式,其中输入或 进程的输出(某些命令序列)显示为临时的 文件。
同样来自Bash Reference Manual → 3.5.6 Process Substitution:
进程替换允许使用文件名引用进程的输入或输出。它采取
的形式<(list)
或
>(list)
进程列表以异步方式运行,其输入或输出显示为文件名。作为扩展的结果,此文件名作为参数传递给当前命令。如果使用&gt;(列表)表单,则写入文件将为列表提供输入。如果使用&lt;(list)表单,则应读取作为参数传递的文件以获取列表的输出。请注意,&lt;之间不会出现空格。或者&gt;和左括号,否则构造将被解释为重定向。支持命名管道(FIFO)的系统或命名打开文件的/ dev / fd方法支持进程替换。
可用时,进程替换与参数和变量扩展,命令替换和算术扩展同时执行。
答案 1 :(得分:1)
也称为“匿名FIFO”。