如何将多个命令的标准输出通过管道传输到单个命令?
示例 1:组合所有三个 echo 命令的输出并对其进行排序:
echo zzz; echo aaa; echo kkk
期望的输出:
aaa
kkk
zzz
示例 2:重写以下内容,以便所有命令都在使用管道的单个命令行中,而不重定向到临时文件:
setopt > /tmp/foo; unsetopt >> /tmp/foo; set >> /tmp/foo; sort /tmp/foo
最佳答案
使用括号 () 将命令组合到一个进程中,这将连接每个命令的标准输出。
示例1(注意$
是shell提示符):
$ (echo zzz; echo aaa; echo kkk) | sort
aaa
kkk
zzz
示例 2:
(setopt; unsetopt; set) | sort
关于bash - 如何将多个命令通过管道传输到 shell 中的单个命令? (嘘,庆典,...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54848272/