在 unix 中重复 stderr,特别是 ksh
我正在编写 ksh 脚本。 由于我无法控制作业调度程序或访问其日志,因此我正在logging:
exec 2>>logfile 1>&2
在文件的开头并使用log:
echo "good job"
要快速检查日志文件中的错误,如何将stderr复制到日志文件和错误文件? 我想象有新的文件描述符或 tee 或 tty 的东西?
谢谢。
I am writing ksh scripts.
Since I can not control job scheduler or access its logs, I am logging:
exec 2>>logfile 1>&2
at the start of the file and using to log:
echo "good job"
To quickly check logfiles for errors how can I duplicate stderr to logfile and an error file?
I imagine something with new file descriptors or tee or tty?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
通过这样做:
您将回显脚本默认输出(我想是日志文件),并且该消息也将被复制到“错误日志”。
谢谢
By doing:
You'll echo to the script default output (log file I suppose), and the message will be duplicated to "errorlog" as well.
Thanks
每次您尝试重新使用标准文件描述符时,例如:
它会重写第一个定义的定义。也就是说,1 现在仅指向 out,2 指向 err。最好的选择是使用两个单独的文件(例如 err 和 out),并对输出添加时间戳并自行排序以获得组合输出。
Every time you try to re-use the standard file descriptors like :
It rewrites the definition of the first definition.That is, 1 is now only pointing to out and 2 to err. Your best bet would be to use two separate files (like err and out) and timestamping the outputs and sorting it yourself to get the combined output.