I'm trying to write a script with two menus, one with basic commands, and the other password protected with five more advanced commands; but the script doesn't pass the first menu. I think that there is a loop but I can't find it.     #!/bin/bash     #Muestra el menu general    function _menuPrincipal()    {echo 1) Opciones basicasecho 2) Opciones avanzadasecho 3) Salirechoecho -n Indica una opcion:   } function _submenu1(){echoecho 1) Directorio actualecho 2) Listar archivosecho 3) Quien soyecho 4) fechaecho 5) Permisos creacionecho 6) Info OpenGLecho 7) Tiempo funcionamientoecho 8) Calendario mesecho 9) Calendario 2016echo 10) Reloj BIOSecho 11) Nombre de la maquinaecho 12) Historial de comandosecho 13) Estado actual de la terminalecho 14) Sistema actualecho 15) Nombre terminalecho 16) Salirechoecho -n Indica una opcion: } function _submenu2(){echoecho 1) Dispositivosecho 2) Procesosecho 3) Particionesecho 4) Archivos abiertosecho 5) Test memoriaecho 6) Salirechoecho -n Indica una opcion:  } opc=0 until [ $opc -eq 16 ]do    case $opc in    1)        opc1=0        until [ $opc1 -eq 16 ]        do            case $opc1 in                1)                    pwd                    ;;                2)                    ls                    ;;                3)                    whoami                    ;;                4)                    date                    ;;                5)                    umask                    ;;                6)                    glxinfo                    ;;                7)                    uptime                    ;;                8)                    cal                    ;;                9)                    cal -my                    ;;                10)                    hwclock --show                    ;;                11)                    hostname                    ;;                12)                    history                    ;;                13)                    mesg                    ;;                14)                    uname                    ;;                15)                    tty                    ;;                *)                    _submenu1                    ;;            esac            read opc1        done        _menuPrincipal        ;;    2)        opc2=0        until [ $opc2 -eq 6 ]        do            case $opc2 in                1)                    df -vh                    ;;                2)                    top                    ;;                3)                    cfdisk                    ;;                4)                    lsof                    ;;                5)                    memtest                    ;;                *)                    _submenu2                    ;;            esac            read opc2        done        _menuPrincipal        ;;    *)        _menuPrincipal        ;;esacread opcdone
Problem with submenus
bash;menu