bash 中的“1>&2”是啥意思? [复制]

Posted

技术标签:

【中文标题】bash 中的“1>&2”是啥意思? [复制]【英文标题】:What does “1>&2” mean in bash? [duplicate]bash 中的“1>&2”是什么意思? [复制] 【发布时间】:2016-12-10 00:25:04 【问题描述】:

1>&2 在 bash 脚本中是什么意思?

例如,bash 脚本中的以下行是做什么的?

echo "$1 is not a directory!" 1>&2

我使用 MacOS X。我的 bash 脚本是:

if [ ! -d $1 ]; then
    echo "$1 is not a directory" 1>&2
    exit 1
fi

【问题讨论】:

"1>&2 # Redirects stdout to stderr." - 来自I/O Redirection 搜索 [bash] "1>&2" 显示 799 个 Q/A。你发帖前有没有费心看?祝你好运。 @shellter 无需重复发表相同的内容。 man bash 假设您有一个程序,您想通过将输出重定向到日志来捕获格式良好的输出到日志文件(例如./myscript.sh > my log 但是,您还想输出错误消息,但是不希望他们弄乱您整洁的日志。由于echoprintf 都写入stdout,如果您不采取任何措施来重定向错误消息,它们最终也会出现在您整洁的日志文件中。所以,为了保持它们从您的日志中出来,您将错误重定向到stderr,因此它们仍然输出(到屏幕),而您的正常输出到您的日志。 【参考方案1】:

它将消息输出到stderr。因此1>&2 表示将stdout 重定向到stderr

3. All about redirection

【讨论】:

以上是关于bash 中的“1>&2”是啥意思? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

$var?中bash变量参数扩展中的问号是啥意思?

bash中的冒号破折号“:-”是啥意思[重复]

bash 脚本中的 set -e 是啥意思?

linux 命令中的sh是啥意思??

linux的shell编程中#!/bin/sh和bash是啥意思?

Bash:2>&1 是啥意思? [复制]