シェルスクリプトでデバッグプリント

どこでみたかわすれたけど : を使う方法。

#!/bin/sh

[ "$VERBOSE" = '1' ] && VECHO='echo VERBO:' || VECHO=:
[ "$DEBUG"   = '1' ] && { VECHO='echo VERBO:'; DECHO='echo DEBUG:'; } || DECHO=:

echo   go ahead!
$VECHO ugoiteru $$ now!
$DECHO mou owari

exit

実行例

$ ~/t.sh
go ahead!

$ env VERBOSE=1 ~/t.sh
go ahead!
VERBO: ugoiteru 23055 now!

$ env DEBUG=1 ~/t.sh
go ahead!
VERBO: ugoiteru 23115 now!
DEBUG: mou owari