我正在尝试为目录编写一个简单的测试,但一直遇到无法解决的问题。
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