簡單的 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

相關內容