duda facililla script linux

chanquete

La cosa va tal que así... Me preguntan inserte un número "8" inserte cantidad a contar "4" y tiene que empezar a contar tal que así.

7
6
5
4

dios=1
echo "soy un contador"
echo "inserte el número por el que empieza"
read empieza
echo "inserte la cantidad de número a contar"
read cantidad
while [ $cont2 -ne 0 ]
        do
                cont=`expr $empieza - $dios`
                cont2=`expr $cantidad - 1`
        done

La cuestión es que tengo la idea del problema en sí. Pero no sé. ¿Estoy fallando a la hora de expresarlo?

skv

Tu problema es que cantidad siempre vale 4, en todo caso tendrías que inicializar cont2 a cantidad y dentro del bucle hacer cont2 = cont2-1. Básicamente:

#!/bin/bash
 
echo "Inserte el número por el que empieza"
read primero
echo "Inserte la cantidad de número a contar"
read cantidad
 
while [ $cantidad -ne 0 ]
do
    primero=$((primero-1))
    cantidad=$((cantidad-1))
    echo $primero
done

Por cierto la sintaxis $((EXPR)) es otra forma de evaluar expresiones aritméticas en bash, como $(expr EXPR)

chanquete

Bufff, muchísimas gracias, es que estoy aprendiendo y me está entrando hasta mareos para el exámen.

Usuarios habituales

  • chanquete
  • skv