【发布时间】: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但是,您还想输出错误消息,但是不希望他们弄乱您整洁的日志。由于echo和printf都写入stdout,如果您不采取任何措施来重定向错误消息,它们最终也会出现在您整洁的日志文件中。所以,为了保持它们从您的日志中出来,您将错误重定向到stderr,因此它们仍然输出(到屏幕),而您的正常输出到您的日志。
标签: bash