我有一段代码通过 ssh 执行命令。该命令更像是这样的:
( cd /home/some/path && ./program ) || echo 'error'
多亏了这一点,如果执行失败,我会在标准输出上得到“错误”,并且可以在我的初始代码中将其解释为失败。但是,在这种方法中,我丢失了错误输出(当我通过 ssh 连接调用程序时)。我希望能够将错误输出保存到某个错误日志文件中(如果我可以使用 awk 用一些日期和时间对其进行注释,那将是完美的)并且在调用时仍然能够在输出上获得“错误”失败的。
我想出了类似的东西:
( cd /home/some/path && ./program 2>&1 | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; }' > error.log) || echo 'error'
它将错误输出保存到 error.log 文件,但是,我没有收到“错误”消息。
任何想法如何解决这个问题?