Ayuda con menú en bash

Iniciado por davidel11, 26 Enero 2018, 20:30 PM

0 Miembros y 1 Visitante están viendo este tema.

davidel11

Hola a todos! Nos han mandado un trabajo para clase y tengo un par de dudas. El enunciado es el siguiente:

Cree un script que muestre por pantalla un menú con cuatro opciones que realice lo siguiente:

1) Mostrar la fecha.
2) Mostrar los usuarios conectados.
3) Mostrar el directorio de trabajo.
4) Listar el contenido del directorio de trabajo.

De momento llevo lo siguiente, pero quiero mejorarlo un poco. Quiero que al escoger una opción, aparezca la información pero no el menú, sino que pregunte si quiere mostrar de nuevo el menú. En caso de darle al sí (s), borrar pantalla y volver a mostrarlo. En caso de elegir que no, borrar pantalla y mostrar un mensaje de salida. He estado probando con varios if, pero creo que no los estoy poniendo en el lugar correcto del código. Adjunto foto de cómo me sale ahora. Selecciono la opción pero me sale tanto la información como el menú. Muchas gracias por adelantado! Un saludo




#!/bin/bash
clear
while :
do
echo " Escoja una opcion "
echo "1) Mostrar la fecha"
echo "2) Mostrar los usuarios conectados"
echo "3) Mostrar el directorio de trabajo"
echo "4) Listar el contenido del directorio de trabajo"
echo -n "Seleccione una opcion: "
read opcion
clear
case $opcion in
1) echo "La fecha de hoy es:"
date;;
2) echo "Los usuarios actualmente conectados son:";
who;;
3) echo "El directorio de trabajo es:";
pwd;;
4) echo "El contenido del directorio de trabajo es:";
var=$(pwd)
ls "$var";;
*) echo "$opcion no es una opcion válida";
read -p "Presiona ENTER para volver al menú";
esac
done

fary

Mete el clear dentro del while...

Código (bash) [Seleccionar]
#!/bin/bash
while :
do
clear


Para lo demás pues haz otro case al final de mostrar las opciones.

saludos.
Un byte a la izquierda.