私のスクリプトでは、次のオプションを使用して端末と/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 メッセージを標準エラーおよびシステムログに記録します。