全局设置是否在输出到终端的所有行前添加时间戳?

全局设置是否在输出到终端的所有行前添加时间戳?

我正在开发一个服务器,其中有许多不同的 shell 脚本用于触发进程。这些 shell 脚本主要使用 echo 命令来生成由代理捕获到日志文件中的终端输出。我想找到一种方法来为终端的所有这些输出行添加时间戳。

我已经从 moreutils 阅读了有关 ts 命令的内容。重写对这些脚本的每个调用以通过 ts 进行管道传输(基于业务流程)是不可行的,因此我认为可能的解决方案是找到一种方法,让实例上运行的每个命令都通过 ts 进行管道传输。有没有办法做到这一点,或者有没有更好的方法来预先添加时间戳?

答案1

您可以为其定义 echo 别名

$ alias echo='echo $(date -u)'
$ echo "log line"
Mon Dec 27 23:30:44 UTC 2021 log line

相关内容