シェル スクリプトでは、ステータスとデバッグの理由から、いくつかの主要な (長時間実行される) コマンドをエコーしたいと考えています。set -x
またはを使用して、すべてのコマンドのエコーを有効にできることを知っていますset -v
。しかし、すべてのコマンドを表示したくはありません (特に、echo コマンドは表示されません)。1 つのコマンドだけでエコーをオンにする方法はありますか?
私はこのようにすることができますが、それは醜く、次の行set +x
もエコーします。
#!/bin/sh
dir=/tmp
echo List $dir
set -x
ls $dir
set +x
echo Done!
これを行うより良い方法はありますか?