![使用记录器在终端上打印消息以及 /var/log/messages](https://linux22.com/image/44137/%E4%BD%BF%E7%94%A8%E8%AE%B0%E5%BD%95%E5%99%A8%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%8A%E6%89%93%E5%8D%B0%E6%B6%88%E6%81%AF%E4%BB%A5%E5%8F%8A%20%2Fvar%2Flog%2Fmessages.png)
我在脚本中使用以下选项在终端以及 /var/log/messages 上打印
echo "System Load is OK : $Current_loadadv"
echo "System Load is OK : $Current_loadadv" | logger
但我怎样才能在单行中做到这一点?
答案1
tee >(logger) <<< "System Load is OK : $Current_loadadv"
>(logger)
是 bash 语法,用于创建一个将进入 FIFO 的文件描述符,然后将其馈送到 的标准输入logger
(这是 bash 中所谓的“进程替换”的一种形式)。然后,它将该文件描述符的路径作为参数传回tee
,并且由于tee
写入其非选项参数,因此 FD 被写入并logger
接收您的字符串。
答案2
另外一个选择 :
logger -s "Message"
人记录器
-s 将消息记录到标准错误以及系统日志中。