我已经习惯了 I/O 重定向。我已经意识到&>
的捷径了2>&1
。我相信它也可以作为>&
.可能存在我不知道的细微差别。
使用它时,它必须位于命令行的中间:
ls test.txt missing &> output.txt
但是,当使用长格式时,它必须位于命令行的末尾:
ls test.txt missing > output.txt 2>&1
当尝试将快捷方式放在末尾时,会导致错误:
ls test.txt missing > output.txt &>
-bash: syntax error near unexpected token `newline'
为什么是这样?是什么使快捷方式有所不同,以至于它必须内联使用,而不是像长格式方法一样在行尾使用?