以下のようなスクリプトがtest.shという名前であるとする。
#!/bin/env bash
touch afile
cp afile bfile
bash test.sh
を実行した時は処理内容が何も表示されない。
bash -x test.sh
とすると、以下のように処理内容が表示されるようになる。
+ touch afile
+ cp afile bfile
-xオプションはデバッグモードにするオプションとのこと。以下のようなスクリプトがあった時に、どこで終了したかわかりデバッグに役立つ。
#!/bin/env bash
inp=1
if [ $inp -eq 2 ] ; then
exit
fi
if [ $inp -eq 1 ] ; then
exit
fi
echo "TEST"
上記の実行結果は以下の通りとなり、-eq 1のif文で終了しているのがわかる。
+ inp=1
+ '[' 1 -eq 2 ']'
+ '[' 1 -eq 1 ']'
+ exit