bashで作成したシェルスクリプトの構文チェックを行うには、以下のようにします。
bash -n シェルスクリプト名
以下のシェルスクリプトは、引数が1の場合はOKを表示して、それ以外の場合はNGを表示します。
1 2 3 4 5 6 7 8 |
#!/bin/bash if [[ "$1" == 1 ]] then echo "OK" else echo "NG" fi |
echo $?を実行すると、直前のコマンドの戻り値が分かります。
0(ゼロ)が返ってくれば、シェルスクリプトには構文エラーがありません。
実行例
$ bash -n sample.sh
$ echo $?
0
また、シェルスクリプトの処理の流れを確認するには、以下のようにします。
コマンドが動いたあとにエコーするので、どの箇所を通っているかが分かります。
bash -x シェルスクリプト
実行例
$ bash -x sample.sh 1
+ [[ 1 == 1 ]]
+ echo OK
OK