elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Problema Script. [bash]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema Script. [bash]  (Leído 6,371 veces)
LDueñas

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Problema Script. [bash]
« en: 23 Mayo 2011, 17:20 pm »

Hola, soy nuevo en el foro. Me he registrado porque estoy intentando hacer un pequeño y simple script que consta de un menú con 3 apartados, y me está trayendo verdaderos quebraderos de cabeza. En el primero, marcando el usuario la opción 1 el equipo se debe reiniciar. Hasta ahí todo bien pero he de ponerle un mensaje de confirmación (si escribe si, se reinicia, sino vuelve al principio) que aunque se que es super sencillo no logro aplicarlo.
Con el segundo más de lo mismo, ya que se trata de reiniciar otro sistema.
Y el tercero se trata de una prueba de conectividad, pretendo hacer un submenú dentro de este apartado en el que el usuario pueda hacer ping a su propia máquina o bien a otro pc conectado a la red local, así como una opción para probar conectividad en todos los pc's de la red.
Esto es lo que he hecho:
#!bin/bash
echo "menú"
echo "1. Reiniciar pc"
echo "2. Reiniciar server"
echo "3.Prueba de conectividad"
echo "elige tu opcion"
read entrada1
case $entrada1 in
1)
aquí simplemente teníka escrito reboot, pero al necesitar incluir una orden de confirmación me pierdo totalmente.
;;
2)
igual que 1
3) echo "¿a donde"?
echo 1. "ping localhost"
echo 2. "ping server"
echo 3. "ping rangos"

Y aquí tmp se seguir..
Como veis soy muy novato en esto y mis conocimientos no van más allá de crear un simple menú. He probado para los casos 1 y 2 el utilizar if y while pero sin resultado. Ojalá podais echarme un pequeño cable. Gracias de antemano y espero haber puesto la duda en el lugar correcto del foro.
Un saludo.


« Última modificación: 25 Mayo 2011, 00:35 am por Novlucker » En línea

LDueñas

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Problema Script.
« Respuesta #1 en: 24 Mayo 2011, 12:13 pm »

He resuelto varias cosas, ahora mismo el script estaría así.,
#!bin/bash
echo "1.reinicio pc"
echo "2. reinicio asterisk"
echo "3. prueba conectividad"
echo "elige tu opcion"
read opcion
case $opcion in
1)
while true; do
echo
read -p "estás seguro de reiniciar?" S o N" j
case $j in
s ) reboot;;
n ) exit;;
* ) echo "introduce S o N;;
esac
done
;;
2) while true; do
echo
read -p "estás seguro de reiniciar?" S o N" j
case $j in
s )reboot 192.168.x.x;;
n )exit;;
* )echo "introduce S o N";;
esac
done
;;
3) echo "¿A donde?
echo 1."ping localhost"
echo 2."ping asterisk"
echo 3. "comprobar red local"
read valor
case $valor in
1) ping localhost;;
2 ping 192.168.x.x;;
3)nmap -sP 192.168.2.1-254
esac
done
esac
El caso es que me da error en lineas 33 y 45 y por más que pruebo no doy con ello.


« Última modificación: 24 Mayo 2011, 13:28 pm por LDueñas » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Problema Script.
« Respuesta #2 en: 24 Mayo 2011, 23:55 pm »

Mal, mal, todo mal, vuelve a hacerlo de nuevo, borra todo y comienzalo.

Código
  1. #!/bin/bash
  2. # Menu de opciones con select
  3. OPCIONES="Hola Salir Lala"
  4. select opt in $OPCIONES; do
  5. if [ "$opt" = "Salir" ]; then
  6. echo done
  7. exit
  8. elif [ "$opt" = "Hola" ]; then
  9. echo Hola Mundo
  10. else
  11. clear
  12. echo opción errónea
  13. fi
  14. done
  15.  
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
LDueñas

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Problema Script. [bash]
« Respuesta #3 en: 25 Mayo 2011, 12:40 pm »

Me has ayudado mucho te lo agradezco. Solo una última cosa, ¿cómo haría para meter una confirmación si el usuario escribiera p ej. "salir"?
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Problema Script. [bash]
« Respuesta #4 en: 25 Mayo 2011, 23:03 pm »

¿Qué código estás usando? porque en el que dejé anteriormente ya lleva la implementación para salir.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
LDueñas

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Problema Script. [bash]
« Respuesta #5 en: 26 Mayo 2011, 09:42 am »

Borré todo mi código y me he guiado del tuyo para la realización del menú. En lugar de su creación con echo he descubierto  que con select es más cómodo gracias a ti.

Como bien has dicho; has añadido una implementación para salir en el menú, pero mi idea era que, entrando en un menú (p. ej 1-reiniciar ordenador) el usuario al pulsar el 1 recibiera un mensaje de confirmación en el que se le preguntara si está seguro de la acción a realizar. En el caso de ser afirmativa su respuesta, se reiniciara el equipo y, si por el contrario decidiese que no era buena idea pulsando "no" volviera para atrás: de nuevo al menú.

Quizás todo esto ya está resuelto con tu código  y no me he percatado ya que estoy empezando en esto y la verdad que ando perdido. Por las pruebas quehe realizado, el menú si que se crea correctamente y me funciona, pero el tema de la confirmación (que ya tenía resuelto en mi anterior código con los comando while, read y case) no sé como implementarla en este.
Saludos y perdona las molestias.
« Última modificación: 26 Mayo 2011, 09:45 am por LDueñas » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Problema Script. [bash]
« Respuesta #6 en: 26 Mayo 2011, 22:00 pm »

Código
  1. #!/bin/bash
  2.  
  3. function menu()
  4. {
  5. clear;
  6.  
  7. select opcion in "Reiniciar" "Reiniciar 2"
  8. do
  9. # Chequeo del a opcion 1
  10. if [ "$opcion" = "Reiniciar" ]
  11. then
  12.  
  13. read -p "Está seguro de reiniciar? s/n : " confirmacion
  14.  
  15. if [ "$confirmacion" = "s" ]
  16. then
  17. echo -e "Reiniciando..."; # No necesario.
  18. read; # No necesario
  19. # Comando para reiniciar...
  20. else
  21. menu;
  22. fi
  23.  
  24. fi
  25.  
  26. # Chequeo de la opcion 2
  27. if [ "$opcion" = "Reiniciar 2" ]
  28. then
  29.  
  30. read -p "Está seguro de reiniciar? s/n : " confirmacion
  31.  
  32. if [ "$confirmacion" = "s" ]
  33. then
  34. echo -e "Reiniciando..."; # No necesario
  35. read; # No necesario, solo para pausar
  36. # Comando para reiniciar...
  37. else
  38. menu;
  39. fi
  40.  
  41. else
  42. menu;
  43. fi
  44. done
  45.  
  46. }
  47.  
  48. menu;
  49.  
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
LDueñas

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Problema Script. [bash]
« Respuesta #7 en: 27 Mayo 2011, 09:16 am »

Te agradezco la ayuda :)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Bash script] equivalente de goto en batch para bash (SOLUCIONADO)
Scripting
moikano→@ 4 16,581 Último mensaje 4 Noviembre 2010, 15:58 pm
por moikano→@
Problema script bash ruta de directorio en variable
Scripting
InuKen 4 7,049 Último mensaje 14 Mayo 2011, 00:46 am
por leogtz
Problema script bash
Scripting
hervasiop12345 2 3,468 Último mensaje 29 Mayo 2011, 22:23 pm
por hervasiop12345
Problema con script en bash
Scripting
bewa 0 1,586 Último mensaje 1 Febrero 2012, 21:44 pm
por bewa
Problema con script en bash « 1 2 »
Scripting
Gambinoh 10 7,259 Último mensaje 21 Diciembre 2014, 14:56 pm
por Gambinoh
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines