我正在尝试编写一个带有两个菜单的脚本,一个包含基本命令,另一个受五个更高级命令的密码保护;但脚本没有通过第一个菜单。我认为有一个循环,但我找不到它。
#!/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