Estou tentando codificar um teste simples para um diretório, mas continuo enfrentando um problema que não consegui resolver.
prompt> if [ -d "./mydir" ] then echo "yes"; fi
-bash: syntax error near unexpected token 'fi'
Eu tentei uma variedade de aspas, ponto e vírgula, quebras de linha, etc.
Mas sempre encontro esse erro de sintaxe.
Você pode explicar o que fiz de errado aqui?
Responder1
Você precisa de um ponto e vírgula para separar o comando de condição e a then
palavra-chave:
if [ -d dir ]; then echo yes; else echo no; fi
# ...........^
É claro que você pode usar uma nova linha em vez do ponto e vírgula
Ou use um operador condicional
[ -d dir ] && echo yes