Se desaparece la consola!!

Iniciado por FAKEz, 22 Marzo 2012, 05:53 AM

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

FAKEz

MOD: Aviso, Usa el botón "Insertar código", y ponle un título describiendo el lenguaje en tu post.  :P

El codigo es el siguiente ,lo ejecuto y no me pide ninguna variable , se abre y se cierra la consola en segundos..

Código (bash) [Seleccionar]
#!/usr/bin/bash
if [ $# -lt 2 ]
then
echo $0 Numero Numero2
exit 1
fi
calculo=`expr $1 + $2`
echo $calculo
exit 0


Que estoy haciendo mal?muchas gracias.

Jirp96

Hola!
Ahora no estoy cerca de una maquina con gnu/linux, pero creo que se cual es el problema =P

En tu codigo solo compruebas si se le pasan menos de dos argumentos(aunque nunca los usas)
Luego, imprimes 2 variables que nunca creaste ni le asignaste valor(Numero & Numero2)* y luego sumas los dos primeros parametros($1 $2)

*Antes del
Código (bash) [Seleccionar]
echo $0 Numero Numero2 podrías poner
Código (bash) [Seleccionar]

read -p "Introduce Numero: " Numero
read -p "Introduce Numero2: " Numero2


Si no quieres que se cierre la terminal podrías o sacar el "exit 0" o agregar un read antes...

Saludos!

Eleкtro

Cita de: Jirp96 en 22 Marzo 2012, 12:43 PM
Si no quieres que se cierre la terminal podrías o sacar el "exit 0" o agregar un read antes...

No soy ningún entendido sobre Bash, Pero supongo que el comando sleep también te serviría además de lo que te dijo Jirp96: http://ss64.com/bash/sleep.html

Salu2








Runex

#3
Cita de: FAKEz en 22 Marzo 2012, 05:53 AM
MOD: Aviso, Usa el botón "Insertar código", y ponle un título describiendo el lenguaje en tu post.  :P

El codigo es el siguiente ,lo ejecuto y no me pide ninguna variable , se abre y se cierra la consola en segundos..

Código (bash) [Seleccionar]
#!/usr/bin/bash
if [ $# -lt 2 ]
then
echo $0 Numero Numero2
exit 1
fi
calculo=`expr $1 + $2`
echo $calculo
exit 0


Que estoy haciendo mal?muchas gracias.

Prueba a cambiar la cabecera y a implementar sleep como ha dicho Elektro, respecto a lo de que no te pide ninguna variable, es porque debes usar read, si no, el programa no sabe que debe recibir informacion, el código quedaría así:

Código (bash) [Seleccionar]
#!/bin/bash
echo 'Ingresa un Valor'
read #
if [ $# -lt 2 ]
then
echo $0 Numero Numero2
sleep 5
exit 0
fi
calculo=`expr $1 + $2`
echo $calculo
sleep 5
exit 0


Lo he ejecutado pero vamos, no tiene ninguna salida importante, ¿Cual es su objetivo? :)

Un saludo :)
"No renunciaría al bambú.
Nunca renuciaría a ti.
No te compares con otros" "El me dijo:
El bambú tenía un propósito diferente al del
helecho, sin embargo eran necesarios y
hacían del bosque un lugar hermoso".