Estoy intentando codificar una prueba simple para un directorio, pero sigo encontrando un problema que no puedo resolver.
prompt> if [ -d "./mydir" ] then echo "yes"; fi
-bash: syntax error near unexpected token 'fi'
Probé una variedad de comillas, punto y coma, saltos de línea, etc.
Pero siempre me encuentro con este error de sintaxis.
¿Puedes explicar qué he hecho mal aquí?
Respuesta1
Necesita un punto y coma para separar el comando de condición y la then
palabra clave:
if [ -d dir ]; then echo yes; else echo no; fi
# ...........^
Por supuesto, puedes usar una nueva línea en lugar del punto y coma.
O utilice un operador condicional
[ -d dir ] && echo yes