Obteve “erro de sintaxe perto do final inesperado do arquivo” no script bash

1

Eu estou fazendo um script que me dá um dia como este jjj / yyyy quando eu dou um dia assim dd / mm / aaaa e eu preciso que ele tenha um erro quando você não escreve corretamente, mas eu ' estou começando e não está funcionando: (

#! /bin/bash

#Primero debes ingresar el mes
echo "Ingresa el número de un mes del año"
read mes

#Condicional 
#Dependiendo si coloca bien $mes
if [ "$mes" -lt 12 -a "$mes" -gt 0 ]; then
echo "muy bien, sigamos."
    else
    if [ "$mes" -gt 12 -a "$mes" -lt 0 ]; then
    echo "Creo que eso ya no es un mes!";
exit
fi

Quando eu executo, ele diz "erro de sintaxe perto do final inesperado do arquivo"

    
por Divshah 12.09.2014 / 05:59

2 respostas

9

Você perdeu um fi para o if interno:

if [ "$mes" -lt 12 -a "$mes" -gt 0 ]; then
  echo "muy bien, sigamos."
else
  if [ "$mes" -gt 12 -a "$mes" -lt 0 ]; then
    echo "Creo que eso ya no es un mes!"
    # Missed fi here
  fi
  exit
fi
    
por 12.09.2014 / 06:03
-2

Na declaração else if , você precisa escrever assim:

elfi [con]; then echo "statement"
    
por 30.05.2015 / 07:31