読者です 読者をやめる 読者になる 読者になる

気の向くままにプログラミング

南国ビーチでのリモートワーク生活を目指す凡人

Syntax error near unexpected token 'then'

久しぶりにlinuxのシェルを書いてハマりました。

if文を使用した条件判定をこんな感じで書いてみた。

if["$? -eq "0"];then
echo "OK"
fi

そしたら、こんなエラー
Syntax error near unexpected token 'then'

正しくは、

if [ "$?” -eq "0" ];then
echo "OK"
fi

何がダメだったかと言うと、[ ]の前後はスペースが必要だとのこと。。。

正式仕様?見ても特にそのような記載はなさげ。
https://tiswww.case.edu/php/chet/bash/bashref.html#Conditional-Constructs

このような仕様になった経緯はどうあれ、
無駄な時間を使ったので、クソ仕様ということにしよう。