进程替换(Process Substitution)

bashzsh 都可以使用。
将一个命令的输出作为一个文件,例如:

$ ls
test1  test2  test3  test4
$ ls <(ls)
/proc/self/fd/11
$ cat <(ls)
test1
test2
test3
test4

其中 <(ls) 表示将 ls 的输出保存到文件 /proc/self/fd/11
也可以输入一个文件并运行命令,例如:

$ ls >(cat)
/proc/self/fd/12
$ ls > >(cat)
test1
test2
test3
test4

ls 的输出保存到 /proc/self/fd/12 并重新用 cat 输出

zsh 中还可以使用 =(),与 <() 类似。

$ ls =(ls)
/tmp/zsh90Dvr8
$ cat =(ls)
test1
test2
test3
test4

你可能感兴趣的:(进程替换(Process Substitution))