私が入れたとき:
set -xuo pipeline
exec 2> >(tee -a mylog.log) >&2
Bashスクリプトでは、実行された行とエコーメッセージがコンソールとmylog.logにプッシュされます。
を入れないと、set -xuo pipeline
エコーメッセージだけがコンソールとmylog.logにプッシュされます。
これらのロギング戦略を分離するには:コンソールの場合はメッセージだけをエコーしたい、ファイルの場合は行とメッセージをエコーしたいです。
答え1
追加できます
exec 5> mylog.log
BASH_XTRACEFD="5"
set -x
次に、トレースロギングとコンソールエコーロギングのためにmylog.logに移動します。