使用记录器在终端上打印消息以及 /var/log/messages

使用记录器在终端上打印消息以及 /var/log/messages

我在脚本中使用以下选项在终端以及 /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 将消息记录到标准错误以及系统日志中。

相关内容