这里我发现了一个我以前从未见过但有效的 shell 输入结构。上面写着
comm <(fancy input mangling) <(another input construction)
这在普通的 stdin/stdout/stderr 程序中如何工作,程序如何区分第一个和第二个输入文件?
答案1
man
是grep
你的朋友。
$ 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.