![全局设置是否在输出到终端的所有行前添加时间戳?](https://linux22.com/image/200193/%E5%85%A8%E5%B1%80%E8%AE%BE%E7%BD%AE%E6%98%AF%E5%90%A6%E5%9C%A8%E8%BE%93%E5%87%BA%E5%88%B0%E7%BB%88%E7%AB%AF%E7%9A%84%E6%89%80%E6%9C%89%E8%A1%8C%E5%89%8D%E6%B7%BB%E5%8A%A0%E6%97%B6%E9%97%B4%E6%88%B3%EF%BC%9F.png)
我正在开发一个服务器,其中有许多不同的 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