シェルスクリプトを実行していて「-bash: [: q: 整数の式が予期されます」のエラーがでました。
解決方法がわかりましたので、覚書しておきます。
windowsのプロンプトで使用できるbatやpythonやphpを使用して、業務効率化やWebサイトを作成しております。javaやシェルスクリプトなど、様々なプログラミングを行った実績ありの筆者です。
-bash: [: q: 整数の式が予期されますのエラーの対処法
‘[‘などのテストコマンドを使用している時に出たエラー
解決策は’[’を’[[’に変更するだけです。
実際のシェルスクリプト
実際にエラーが出たシェルスクリプトです。
while :
do
read -p "ファイルの何行目を表示させますか?" my_row
if [ $row_count -lt $my_row ]; then
echo $my_row行目に文字はありません
continue
elif [ $my_row == q ]; then
echo 終了します
break
else
sed -n ${my_row}p $file
fi
done
このテストコマンドを[[ ]]に変更しただけで、エラーが出なくなりました。
これからの対策として[]は使用せずに[[]]に統一しようと思います。