¿Como mostrar contador hasta que sea igual a un valor?

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )

Moderadores: maiku, akodo

Responder
JesusRG
Forista Nuevo
Forista Nuevo
Mensajes: 2
Registrado: Sab Abr 06, 2019 12:56 pm

¿Como mostrar contador hasta que sea igual a un valor?

Mensaje por JesusRG »

Necesito, mediante un bucle until, rellenar los números entre 2 valores pasados por parámetros, por ejemplo

./ejercicio 10 15
10 11 12 13 14 15
./ejercicio 15 10
15 14 13 12 11 10
Mi código actual es este:

Código: Seleccionar todo

#!/bin/bash
 
if `test $# -ne 2`                  
then
    echo "Numero de parametros incorrecto"
    echo "Uso del programa: $0 numero1 numero2"  p
    exit 1;
fi
 
contador=$1
until test $contador -eq $2
do
    if `test $1 -ge $2`
    then
        echo $contador
        contador=`expr $contador - 1`
    else
        echo $contador
        contador=`expr $contador + 1`
    fi
done
El problema que tengo es que no me muestra el ultimo numero, es decir si el segundo parámetro es 20 me muestra solo hasta el 19 (tanto en caso creciente como decreciente)

PD: DÚPLICE EL TEMA SIN QUERER

Avatar de Usuario
doc
Forista Ancestral
Forista Ancestral
Mensajes: 3461
Registrado: Mié Ago 11, 2010 10:32 am
Ubicación: Oviedo-es_ES
Contactar:

Re: ¿Como mostrar contador hasta que sea igual a un valor?

Mensaje por doc »

JesusRG escribió: PD: DÚPLICE EL TEMA SIN QUERER
pues borra el duplicado ¿no?

Respecto a tu pregunta, ni idea, pero si pones

Código: Seleccionar todo

`expr $contador - 1`
me parece lógico que en vez de 20 te ponga 19 ¿no?

hlacu
Forista Nuevo
Forista Nuevo
Mensajes: 24
Registrado: Sab Abr 11, 2020 2:07 pm

Re: ¿Como mostrar contador hasta que sea igual a un valor?

Mensaje por hlacu »

Soy nuevo en esto, así que igual digo una barbaridad. Entiendo que until se ejecuta hasta que se cumple, en el momento que llega a 20, como se cumple la condición, se para. Entonces, creo que tienes que poner test $contador -eq (($2+1))

Puede ser? Claro que habría que condicionar que si el primero es menor que el segundo sume 1 y si es menor reste, pero igual puede funcionar

Responder
  • Temas similares
    Respuestas
    Vistas
    Último mensaje