1>& 2在shell中意味着什么?

时间:2014-10-06 22:20:27

标签: shell scripting

漂亮的菜鸟问题,1>& 2在这个脚本中做了什么?

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

1 个答案:

答案 0 :(得分:1)

重定向“标准输出(STDOUT)”到标准错误输出(STDERR)的行“此脚本必须以root身份运行”。

这是一种向STDERR打印错误消息的简单方法 - 如果您从另一个脚本(如crontab)运行bash脚本,这很重要,如果您从命令行运行它,则更为重要,因为您的终端将显示两个STDOUT和STDERR。

另见echo that outputs to stderr