Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: minette1988 en 8 Mayo 2010, 14:13 PM

Título: multipliación de un número
Publicado por: minette1988 en 8 Mayo 2010, 14:13 PM
Hola, tengo que mostrar la tabla de multiplicar de un número pasado como argumento, pero no me funciona:

Código (bash) [Seleccionar]
#!/bin/bash

n=1

while [ $n -le 10 ]
do
   multi= `expr $1 \* $n`
   echo $1 * $n = $multi
   n = `expr $n + 1`
done
Título: Re: multipliación de un número
Publicado por: -- KiLiaN -- en 8 Mayo 2010, 16:00 PM
Usa for.
Título: Re: multipliación de un número
Publicado por: leogtz en 8 Mayo 2010, 18:38 PM
Prueba esto:

Código (bash) [Seleccionar]
#!/usr/bin/bash
let count=1
let multiplicacion=1
while [ $count -le 10 ]
do
let multiplicacion="$count * $1";
echo -e "$1 * $count = $multiplicacion";
let count+=1
done


Código (bash) [Seleccionar]
#!/usr/bin/bash
if [ $# -ne 1 ];
then
echo -e "Error de argumentos";
exit 1;
fi
count=1
multi=1 # Inicializamos a 1.
while [ $count -le 10 ];
do
multi=`expr $1 \* $count`
echo -e "$1 * $count = $multi";
count=`expr $count + 1`
done


leo@lein:~/Escritorio$ cat shell.sh
#!/usr/bin/bash
if [ $# -ne 1 ];
then
       echo -e "Error de argumentos";
       exit 1;
fi
count=1
multi=1 # Inicializamos a 1.
while [ $count -le 10 ];
do
       multi=`expr $1 \* $count`
       echo -e "$1 * $count = $multi";
       count=`expr $count + 1`
done
leo@lein:~/Escritorio$ bash shell.sh 5
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50
leo@lein:~/Escritorio$


@kln, puede hacerlo con cualquier sentencia de control, no necesariamente for.

Código (bash) [Seleccionar]
#!/usr/bin/bash
if [ $# -ne 1 ];
then
echo -e "Error con argumentos";
exit 1;
fi
for((i = 1; i <= 10; i++));
do
echo -e "$1 * $i = `expr $1 \* $i`";
done