这个 shell 双输入结构是如何工作的

这个 shell 双输入结构是如何工作的

这里我发现了一个我以前从未见过但有效的 shell 输入结构。上面写着

comm <(fancy input mangling) <(another input construction)

这在普通的 stdin/stdout/stderr 程序中如何工作,程序如何区分第一个和第二个输入文件?

答案1

mangrep你的朋友。

$ man bash | grep -C2 '<('
   Process Substitution
       Process  substitution  is  supported  on systems that support named pipes (FIFOs) or the /dev/fd method of naming open files.  It
       takes the form of <(list) or >(list).  The process list is run with its input or output connected to  a  FIFO  or  some  file  in
       /dev/fd.   The  name of this file is passed as an argument to the current command as the result of the expansion.  If the >(list)
       form is used, writing to the file will provide input for list.  If the <(list) form is used,  the  file  passed  as  an  argument
       should be read to obtain the output of list.

相关内容