サブメニューの問題

サブメニューの問題

2つのメニューを持つスクリプトを作成しようとしています。 1つは基本コマンドを含み、もう1つは5つの高度なコマンドで保護されていますが、スクリプトは最初のメニューを通過しません。ループがあるようですが、見つかりません。

    #!/bin/bash 
    #Muestra el menu general
    function _menuPrincipal()
    {
echo "1) Opciones basicas"
echo "2) Opciones avanzadas"
echo "3) Salir"
echo
echo -n "Indica una opcion: "
  }

 function _submenu1()
{
echo
echo "1) Directorio actual"
echo "2) Listar archivos"
echo "3) Quien soy"
echo "4) fecha"
echo "5) Permisos creacion"
echo "6) Info OpenGL"
echo "7) Tiempo funcionamiento"
echo "8) Calendario mes"
echo "9) Calendario 2016"
echo "10) Reloj BIOS"
echo "11) Nombre de la maquina"
echo "12) Historial de comandos"
echo "13) Estado actual de la terminal"
echo "14) Sistema actual"
echo "15) Nombre terminal"
echo "16) Salir"
echo
echo -n "Indica una opcion: "
}

 function _submenu2()
{
echo
echo "1) Dispositivos"
echo "2) Procesos"
echo "3) Particiones"
echo "4) Archivos abiertos"
echo "5) Test memoria"
echo "6) Salir"
echo
echo -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
        ;;
esac
read opc
done

ベストアンサー1

おすすめ記事