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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Problema al igualar una variable a 0 en bash [solucionado]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema al igualar una variable a 0 en bash [solucionado]  (Leído 1,793 veces)
macshivi

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Problema al igualar una variable a 0 en bash [solucionado]
« en: 30 Octubre 2016, 23:14 pm »

El problema esta en la linea 22, abajo entro en mas detalle en mi problema.
Código
  1. echo Este programa nos generara un numero aleatorio y nosotros tendremos 5 intentos para descubrirlo.
  2. echo 'Escribe la opción que deseas:'
  3. echo 'a)Jugar.'
  4. echo 'b)Salir.'
  5. read opc
  6.  
  7. case $opc in
  8. 'a')
  9. #Declaracion de nombre aleatorio en un rango comprendido entre 0 y 100.
  10. n=$((RANDOM%100+0))
  11. #Este echo esta puesto para comprobar los posibles resultados
  12. echo $n
  13.  
  14. #Bucle del juego, el cual acabara cuando los ints sea 0 o n1 sea igual a la variable random (en este caso int se igualrà a 0)
  15.  
  16. ints=5
  17. until [ "$ints" -eq 0 ]; do
  18. ((ints=$ints-1))
  19. echo 'Escribe un numero comprendido entre 0 y 100:'
  20. read n1
  21. if [ $n1 -eq $n ]; then
  22. (( $ints= $ints - $ints )) #Esta es la linea que me da error, me sale el siguiente mensaje:
  23.        #((: 4= 4 - 4 : se intentó asignar a algo que no es una variable (el elemento de error es "= 4 - 4 ")
  24.        #me sale el mismo error  al hacer '$ints=0'
  25.  
  26. echo 'El numero es correcto, has ganado, felicidades.'
  27.  
  28. else if [ $n1 -gt $n ]; then
  29.               echo 'El numero que has marcado es mayor.'
  30.       else echo 'El numero que has marcado es menor.'
  31.   fi
  32. fi
  33. done
  34.  
  35. ;;
  36. 'b')
  37. echo Fin del programa
  38. ;;
  39. esac

Cuando ejecuto el programa la linea que esta despues del primer 'if' la cual hace que el bucle finalice me sale error y sigue continuando hasta que el contador(ints) es 0.




Gracias por vuestra atencion


EDIT:
Al final he modificado el codigo así y funciona:
Código
  1. until [ "$ints" -eq 0 ]; do
  2.  
  3. echo 'Escribe un numero comprendido entre 0 y 100:'
  4. read n1
  5. if [ $n1 -eq $n ]; then
  6. echo El numero es correcto, has ganado, felicidades.
  7. ((ints=$ints-$ints))
  8. else if [ $n1 -gt $n ]; then echo El numero que has marcado es mayor.
  9. ((ints=$ints-1))
  10. else echo El numero que has marcado es menor.
  11. ((ints=$ints-1))
  12.   fi
  13. fi
  14. done


« Última modificación: 31 Octubre 2016, 11:02 am por macshivi » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
'Intentando igualar comando a variable'
Scripting
pyxolo 6 3,074 Último mensaje 1 Julio 2008, 02:07 am
por pyxolo
[SOLUCIONADO] Problema con Bash
Scripting
javier1212 2 3,988 Último mensaje 4 Enero 2011, 07:46 am
por leogtz
Problema script bash ruta de directorio en variable
Scripting
InuKen 4 6,750 Último mensaje 14 Mayo 2011, 00:46 am
por leogtz
¿Como igualar variable de javascript a una de PHP?
PHP
robertito_prado 5 5,312 Último mensaje 18 Junio 2012, 09:53 am
por robertito_prado
como puedo igualar un registro con una variable php?
PHP
_vicho_ 8 5,951 Último mensaje 20 Octubre 2012, 21:51 pm
por _vicho_
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines