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