ロガーを使用して端末と /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)FIFOに入り、それを標準入力に提供するファイル記述子を生成するためのbash構文ですlogger(これはbashのいわゆる「プロセス置換」形式です)。次に、ファイル記述子へのパスを引数として戻し、teeオプションteeではなく引数を書き込むので、FDが書き込まれ、logger文字列を受け取ります。

答え2

別のオプション:

logger -s "Message"

ヒューマンレコーダー

-s メッセージを標準エラーおよびシステムログに記録します。

関連情報