我在另一篇文章中看到,它展示了如何使用 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