背景
最近Bashでシェルを学習&作成するようになり、後述のエラーで少しハマったので備忘録として記載。
事象
以下のような判定を書いたところ「予期しないトークン `elif' 周辺に構文エラーがあります」のエラーが発生。
見返してもそれっぽい構文ミスが見当たらない。
if [ $? -ne 0 ]; then
#NOP
elif [ -z "hoge" ]; then
touch /fuga/fuga.csv
fi
原因
if節の中が処理を書いていなかったことが原因。
対処法
処理なしとなっている箇所にコロンを書くことでエラーとならなくなる。
if [ $? -ne 0 ]; then
:#NOP
elif [ -z "hoge" ]; then
touch /fuga/fuga.csv
fi
メインで使用している言語のJavaやJavaScriptだと処理なしを許容しているので、盲点だった…