-x
オプションで実行しているbashで、個々のコマンドのエコーを免除することはできますか?
私は出力をできるだけきれいにしようとしているので、のサブシェルでスクリプトの特定の部分を実行していset +x
ます。ただし、行set +x
自体は引き続きエコーされ、出力に重要な情報は追加されません。
昔のことを覚えています。で.bat
実行するとecho on
、個々の行はで開始することで除外できました@
。bashに相当するものはありますか?
#!/bin/bash -x
function i_know_what_this_does() {
(
set +x
echo do stuff
)
}
echo the next-next line still echoes 'set +x', is that avoidable?
i_know_what_this_does
echo and we are back and echoing is back on
上記を実行すると、出力は次のようになります。
+ echo the next-next line still echoes 'set +x,' is that 'avoidable?'
the next-next line still echoes set +x, is that avoidable?
+ i_know_what_this_does
+ set +x
do stuff
+ echo and we are back and echoing is back on
and we are back and echoing is back on