ロガーを使用して標準出力とログとして印刷

ロガーを使用して標準出力とログとして印刷

複数の「echo STRING」コマンドを含むbashスクリプトがあります。ロガーを使用してSTRINGを記録したいのですが、まだ標準出力として印刷したいです。echo STRING | logger明らかにそうではありません。

編集:echo STRING | tee >(logger)そうでした。 >(COMMAND)は、プロセス入力を置き換えるプロセス置換です。

ベストアンサー1

Bashでは、次のことができます。

logger(){
  tee >(command logger)
}

loggerその後、前のようにパイプします。

Stephen Harrisが提案したように、カスタムロギング機能を使用してこれを実装するには、次のようにします。

logger(){
  tee >(command logger)
}

echolog(){
  printf '%s\n' "$@" | logger
}

おすすめ記事