用重定向和管道解释这个 shell 命令

用重定向和管道解释这个 shell 命令

我可以理解这样的陈述。

  1. bzip2 --version >/tmp/list_right 2>/tmp/list_error
  2. bzip2 --version >/tmp/list 2>&1

但我不明白这个说法:

bzip2 --version 2>&1 < /dev/null | head -n1

答案1

2>&1将标准输出复制为标准错误。</dev/null将标准输入重定向到空字符特殊设备,读取时立即遇到 eof。|head -n1将标准输出通过管道传输到命令,因此打印第一行,并丢弃第一行之后的行。

相关内容