複数の「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
}