关于脚本:1>&2在shell中意味着什么?

What does 1>&2 mean in shell?

本问题已经有最佳答案,请猛点这里访问。

很难说的问题,1>2在这个脚本中做了什么?

1
2
3
4
if ["$(id -u)" !="0" ]; then
    echo"This script must be run as root" 1>&2
    exit 1
fi

它将"此脚本必须作为根运行"一行从标准输出(stdout)重定向到标准错误输出(stderr)。

这是一种将错误消息打印到stderr的简单方法-如果您从另一个脚本(如crontab)运行bash脚本,这很重要;如果您从命令行正确运行bash脚本,则更重要,因为您的终端将同时显示stdout和stderr。

另请参见输出到stderr的echo