我有一个 bash 脚本,其中包含几个“echo STRING”命令。我想用记录器记录 STRING,但仍将其打印在标准输出上。echo STRING | logger
显然不这样做。
编辑:echo STRING | tee >(logger)
做到了。>(COMMAND) 是一个进程替换,它替换进程的输入。
我有一个 bash 脚本,其中包含几个“echo STRING”命令。我想用记录器记录 STRING,但仍将其打印在标准输出上。echo STRING | logger
显然不这样做。
编辑:echo STRING | tee >(logger)
做到了。>(COMMAND) 是一个进程替换,它替换进程的输入。
我通常会编写一个日志函数;就像是
它为您想要记录的内容提供了灵活性,甚至可以让您执行诸如在行前添加时间戳之类的操作(如果您需要的话)。
在 bash 中你应该能够这样做:
logger
然后像以前一样通过管道传输。如果您想按照 Stephen Harris 的建议通过自定义日志记录功能来实现此功能,可以这样做: