¿Cómo soluciono el final inesperado del archivo en el script bash?

Tuve mucha suerte la última vez que envié una pregunta, así que aquí va: estoy tratando de depurar un script BASH algo grande cuando aparece el siguiente error:

./test.sh: line 418: unexpected EOF while looking for matching `"'
./test.sh: line 427: syntax error: unexpected end of file

El siguiente código comienza en la línea 400:

    echo "###########################################################"
    echo
;;
4)
    culebra_carriers
    get_month
    get_day
    logs_cdrs
    logs_wap
    get_mdn

    echo
    echo "###########################################################"
    echo
    echo "Searching for activity of $mobileNumber on $MON $DAY......."
    echo
    zgrep $mobileNumber $HOME/culebrapeak/$LOGCDR/$CULEB/$MON/$WAPLOG
    echo
    echo "###########################################################"
    echo
;;
esac
done
}

clear
main_menu

¿Cómo hago para que desaparezca este error? Parece que tengo las comillas dobles en todos los lugares correctos... pero este es solo mi 4.° o 5.° script de bash... así que, por favor, no me moleste.

preguntado el 12 de junio de 12 a las 20:06

La parte que ha citado parece correcta; es probable que la cita que falta esté antes en el archivo. Las comillas que no coinciden tienden a causar errores que no necesariamente se detectan cerca de donde ocurren. -

El problema está por encima del código que publicaste. Busque citas que no coincidan. Y cita tus variables. Y usa un poco más de sangría. -

Gracias a @twalberg y dennis williamson por sus esfuerzos. Mi editor vi tiene todo en bonitas secciones de colores y, por lo general, los colores están fuera de control cuando hay un pequeño error como este. Ahora comienza la búsqueda de una aguja en mi pajar... Lo siento, dennis, este sitio web no me dejaba gritarte... -

2 Respuestas

De hecho, me faltaba una comilla doble en la parte superior de mi guión. ¡Gracias a todos por la ayuda!

Respondido el 15 de junio de 12 a las 23:06

Cometió un error aquí al enviar su propia respuesta y luego aceptarla como "la" respuesta... cuando Anthony le dio una respuesta bastante buena. (Es posible que no esté familiarizado con las reglas de StackOverFlow, pero Anthony recibe un merecido crédito/gracias si hubiera aceptado su respuesta) - scott prive

Una buena manera de resolver problemas como este es usar un editor de texto que resalte el código entre comillas. Aparte de eso, si la función "buscar" de su editor de texto también da un conteo, puede usarla para detectar cuantitativamente problemas de simetría de caracteres de inicio/final. El resaltado de la función de búsqueda ayudará enormemente a su ojo.

contestado el 14 de mayo de 14 a las 23:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.