【问题标题】: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 无需重复发表相同的内容。
  • 假设您有一个程序,您想通过将输出重定向到日志来捕获格式良好的输出到日志文件(例如./myscript.sh > my log 但是,您还想输出错误消息,但是不希望他们弄乱您整洁的日志。由于echoprintf 都写入stdout,如果您不采取任何措施来重定向错误消息,它们最终也会出现在您整洁的日志文件中。所以,为了保持它们从您的日志中出来,您将错误重定向到stderr,因此它们仍然输出(到屏幕),而您的正常输出到您的日志。

标签: bash


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-04-08
    • 2022-12-16
    • 2019-10-29
    • 2018-06-17
    • 1970-01-01
    • 2016-08-18
    • 2014-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多