我正在尝试为目录编写一个简单的测试,但一直遇到一个我无法解决的问题。
prompt> if [ -d "./mydir" ] then echo "yes"; fi
-bash: syntax error near unexpected token 'fi'
Run Code Online (Sandbox Code Playgroud)
我尝试了各种引号、分号、换行符等。
但总是遇到这种语法错误。
你能解释一下我在这里做错了什么吗?
您需要一个分号来分隔条件命令和then关键字:
if [ -d dir ]; then echo yes; else echo no; fi
# ...........^
Run Code Online (Sandbox Code Playgroud)
您当然可以使用换行符代替分号
或者,使用条件运算符
[ -d dir ] && echo yes
Run Code Online (Sandbox Code Playgroud)