bashスクリプトには、log()
複数の場所で使用される関数とlogs()
多数の行をlog()
。set -x
logs()
log()
私は定義logs()
し、log()
少なくともその内容とせいぜい呼び出しまでもset -x
出力から抑制したいと思います。
ベストアンサー1
関数内で関数が呼び出される方法を変更することはできませんが、サブシェルを呼び出す関数を定義できます。これにより、通常の中括弧の代わりに本文の周りに括弧が表示されます。
log() (
set +x
# rest of log()
)
その後、呼び出しは関数の残りの後続のコマンドではなく、呼び出しlog()
自体(既存のset -x
コードから)と呼び出しのみを生成します。この機能を終了すると、既存の設定が復元されます。set +x
set -x