Programa en Linux

DrAsToR

Hola!! la profesora de linux nos ha adelantado una pregunta en el examen, consiste en hacer la suma de los numeros que nos entre el usuario, el programa es en bash, i no se ni por donde empezar!! agrdaceria cualquier ayuda.

Deckard_29

#!/bin/bash
read -p "Numeros: " A B
echo $((A+B)) $((A-B)) $((A*B)) $((A/B))

En el foro de software libre te ayudarán mejor.
http://www.media-vida.net/verforo.php?fid=24

Y

Si solamente es la suma de los números (y no te exige el producto ni derivados) es tan facil como el siguiente script:

#!/bin/bash
TOTAL_NUM=$? #obtenemos el número total de datos a sumar

elementos a sumar
I=0 #variable de control para el bucle

#Iniciamos el bucle recorriendo los números pasados por parámetro
for num in $*
do
I=$(expr $I + $num) #Vamos almacenando la suma de los números
done
echo "El resultado de la suma de los $TOTAL_NUM números es igual a $I"

Y nada más. De esta manera solamente tendrás que ejecutar el script del tipo

./suma.sh 34 54 21 80 y pulsar intro para que te devuelva el resultado (por cierto es 189)

También te admite valores negativos

./suma.sh -32 43 -12 1 -5 -6 25 -150 (que es -136)

Y si acaso, no habeis dado los valores pasado por parámetros, o el uso de pipes, o el uso de wc o cualquier cosa que haya y no entiendas, y la profesora te pregunte de donde lo has sacado, le contestas "man bash" (que porcierto, si no lo conoces, también miratelo tú ;) )

Saludos y suerte en el exámen

Edit: TOTAL_NUM no hace falta calcularlo, pero vamos, así queda más pijito al decir la cantidad de números a devolver. No se si en tus exámenes cuentan esas pijadas, pero en los mios de primero de carrera si ponias pijaditas como estas digamos que te ponian esos 0,5 que siempre vienen bien xD
EDITO (OTRA VEZ): Por culpa del sueño (ya que este código lo escribí a las 2 de la mañana) me había planteado hacer el código de una manera, y sobre la marcha la hice de otra. He quitado la variable SUM_TOTAL porque, en un principio era la que iba a utilizar para devolver el resultado final, pero vamos, que al final no la usé :P. Y cambié la forma de obtener el número total de valores a sumar (que había usado echo $* | wc -m) por una manera más facil y que debería haberlo puesto así, es que el sueño es mala amiga xD.

DrAsToR

#2#3 Muchisimas gracias!!! a ver si apruebo, gracias a los dos :D.

Sobretodo por la explicación de #3, k me ayudara a entender mejor lo k hace el programa.

Mav

Viene del foro de Softwre y Conexiones

Usuarios habituales