私はいくつかの値をループし、各値に長いコマンドラインを実行するシェルスクリプトを書いています。これらのコマンドを途中で印刷したいのですが、make
と同じようにメークファイルを実行します。私はそれらを実行する前にすべてのコマンドを単に "エコー"することができることを知っていますが、それは気持ちが悪いと感じます。だから私が代わりにset -x
と同様のメカニズムで探しています:シェルスクリプトでxtraceをサイレントに無効にする方法はありますか?
#!/bin/sh
for value in a long list of values
do
set -v
touch $value # imagine a complicated invocation here
set +v
done
私の問題は、次のとおりです。各繰り返しで、プリントアウトinterrestingラインがあるが、また、set +x
ラインだけでなくだけでなく。それをどうにかして防ぐことはできますか?そうでない場合は、どのような回避策をお勧めしますか?
PS:上のMWEはsh
を使用していますが、役立つ場合はbash
とzsh
もインストールされています。
FYI [それが印刷されることなくバッシュセット+ X](http://stackoverflow.com/questions/13195655/bash-set-x-without-it-being-printed) – Beetle