個々のコマンドにbashフラグを設定する方法はありますか?

個々のコマンドにbashフラグを設定する方法はありますか?

これを行うより良い方法はありますか?

set -x; ls; set +x
# rest of the script

ベストアンサー1

表示される状況には次のものがあります。

( set -x; ls )

このset操作はサブシェル内のローカル環境を変更しますが、サブシェルの外側の環境は変更しません。

サブシェルは、変数値などの親環境のどれも変更できません。

また、コードはxtrace最後に無条件にシェルオプションを設定解除します(つまり、呼び出しスクリプトでもそのオプションをオフにします)、サブシェルを使用すると(上記のように)アクティブかどうかにかかわらず、最初からbash -x元の設定を維持します。set -x

関連:

おすすめ記事