シンプルな Bash If 文

シンプルな Bash If 文

ディレクトリの簡単なテストをコーディングしようとしていますが、解決できない問題に遭遇し続けます。

 prompt> if [ -d "./mydir" ] then echo "yes"; fi
 -bash: syntax error near unexpected token 'fi'

さまざまな引用符、セミコロン、改行などを試しました
が、常にこの構文エラーが発生します。

ここで私が何を間違えたのか説明していただけますか?

答え1

条件コマンドとthenキーワードを区切るにはセミコロンが必要です。

if [ -d dir ]; then echo yes; else echo no; fi
# ...........^

もちろんセミコロンの代わりに改行を使うこともできます

または、条件演算子を使用する

[ -d dir ] && echo yes

関連情報