我熟悉在bash中创建“临时文件”以进行命令输入,例如:
cat file_1 <(echo hello) file_2
我希望能够了解更多关于这个主题的信息,但是我不知道 <( )
运算符的名称。我猜测它是一种IO重定向。
这个符号/运算符有一个专门的名称吗?
我熟悉在bash中创建“临时文件”以进行命令输入,例如:
cat file_1 <(echo hello) file_2
我希望能够了解更多关于这个主题的信息,但是我不知道 <( )
运算符的名称。我猜测它是一种IO重定向。
这个符号/运算符有一个专门的名称吗?
这被称为进程替换:
进程替换是一种重定向形式,其中进程(一些命令序列)的输入或输出出现为一个临时文件。
还可以参考Bash 参考手册 → 3.5.6 进程替换:
进程替换允许使用文件名引用进程的输入或输出。 它采用以下形式:
<(list)
或者>(list)
进程列表以异步方式运行,其输入或输出显示为文件名。该文件名作为扩展的结果作为当前命令的参数传递。如果使用“>(list)”形式,则向文件写入将为列表提供输入。如果使用“<(list)”形式,则应读取传递为参数的文件以获取列表的输出。请注意,左尖括号“<”或右尖括号“>”与左括号之间不能出现空格,否则构造将被解释为重定向。进程替换受支持的系统支持命名管道(FIFO)或/dev/fd方法命名打开的文件。当可用时,进程替换与参数和变量扩展、命令替换和算术扩展同时执行。