如何使用 tee 和 logger -t“some tag:”?

如何使用 tee 和 logger -t“some tag:”?

我在另一篇文章中看到,它展示了如何使用 tee 和记录器,如下所示。

tee >(logger) <<< "System Load is OK : $Current_loadadv"

>(logger)是 bash 语法,用于创建一个将进入 FIFO 的文件描述符,然后将其馈送到记录器的标准输入(这是 bash 中所谓的“进程替换”的一种形式)。然后,它将该文件描述符的路径作为参数传递回 tee,并且由于 tee 写入其非选项参数,因此 FD 被写入,并且 logger 接收您的字符串。

如何修改以下命令以使用上面的标签和记录器?

curl -Sks  http://x.x.x.x/scripts/somescript.sh | /bin/bash | logger -t "sometag"

答案1

只需将 bash 通过管道传送到 tee 即可。或者我误解了这个问题?

root@el6 ~ # cat test.sh 
date

root@el6 ~ # cat test.sh | bash | tee >(logger -t "test")
Wed Jul 10 23:08:03 NZST 2013

root@el6 ~ # tail -n3 /var/log/messages
Jul 10 23:08:03 el6 test: Wed Jul 10 23:08:03 NZST 2013

相关内容