命令前的文件描述符

File descriptor before a command

这是什么意思?在命令行实用程序之前使用文件描述符。

示例,

>&2 echo "Hey there! Something failed"

Afaik,它应该在命令行实用程序或程序的末尾。

echo "Hey there! Something failed" 1>&2

这至少为 reader 提供了公平的可读性,甚至连 stdout 也被复制到 stderr

我在一个开源 git-hub 项目中遇到过这样一行代码。无法理解用法

重定向运算符的位置无关紧要 - 有些人喜欢将它们放在命令的开头,有些人喜欢结尾。 shell 本身并不关心。

来自the bash manual

The following redirection operators may precede or appear anywhere within a simple command or may follow a command.