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

Rah*_*til 7 bash logger

我在脚本中使用以下选项在终端以及 /var/log/messages 上打印

echo "System Load is OK : $Current_loadadv"
echo "System Load is OK : $Current_loadadv" | logger
Run Code Online (Sandbox Code Playgroud)

但我怎么能在单行中做到这一点?

Rah*_*til 8

另外一个选择 :

logger -s "Message"
Run Code Online (Sandbox Code Playgroud)

人记录器

-s 将消息记录到标准错误以及系统日志中。


Chr*_*own 7

tee >(logger) <<< "System Load is OK : $Current_loadadv"
Run Code Online (Sandbox Code Playgroud)

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