Foros del Web » Administración de Sistemas » Unix / Linux »

Duda programando en bash

Estas en el tema de Duda programando en bash en el foro de Unix / Linux en Foros del Web. Saludos. Un día me dijeron hazme un programa que sume todos los números pasados por argumento, entonces llego yo tan pancho y lo hago: Código: ...
  #1 (permalink)  
Antiguo 13/02/2011, 09:24
 
Fecha de Ingreso: diciembre-2010
Mensajes: 52
Antigüedad: 13 años, 11 meses
Puntos: 5
Duda programando en bash

Saludos.
Un día me dijeron hazme un programa que sume todos los números pasados por argumento, entonces llego yo tan pancho y lo hago:

Código:
#! /bin/bash
total=0
for (( CONT=1;CONT<=$#;CONT++ )); do
      total= $[ $total + $[ $CONT ] ]
done
printf "\nLa sumatoria de los números pasados por argumento es : $total \n"
Pero para mi sorpresa, ese código no funcionaba, alguien sabe que es lo que pasa, ¿cuál es el error?
Gracias de antemano.
  #2 (permalink)  
Antiguo 14/02/2011, 10:11
 
Fecha de Ingreso: diciembre-2010
Mensajes: 52
Antigüedad: 13 años, 11 meses
Puntos: 5
Respuesta: Duda programando en bash

Entonces nadie sabe que es lo que pasa, yo todavía no lo he averiguado...
  #3 (permalink)  
Antiguo 14/02/2011, 14:18
Avatar de nup_  
Fecha de Ingreso: noviembre-2010
Mensajes: 265
Antigüedad: 14 años
Puntos: 32
Respuesta: Duda programando en bash

Hola:

Intenta con esto:
Código BASH:
Ver original
  1. total=0
  2. for f in $*
  3. do
  4.         total=$[ $total + $[ $f ] ]
  5. done
  6. echo $total

Tu script lo q hace es sumar los números naturales desde 1 hasta la cantidad de argumentos q le hayas pasado.
ejemplo:
Código BASH:
Ver original
  1. ./script.sh 120
  2. La sumatoria de los n&#250;meros pasados por argumento es : 1
  3. # un argumento, resultado: 1
  4.  
  5. ./script.sh 120 21
  6. La sumatoria de los n&#250;meros pasados por argumento es : 3
  7. # Dos argumentos, resultado: 1 + 2 = 3
  8.  
  9. ./script.sh 120 21 12
  10. La sumatoria de los n&#250;meros pasados por argumento es : 6
  11. # Tres argumentos, resultado: 1 + 2 + 3 = 6



saludos;


Nup_

Última edición por nup_; 14/02/2011 a las 14:59
  #4 (permalink)  
Antiguo 15/02/2011, 03:17
 
Fecha de Ingreso: diciembre-2010
Mensajes: 52
Antigüedad: 13 años, 11 meses
Puntos: 5
Respuesta: Duda programando en bash

Gracias de todas formas, ya lo solucioné con el comando shift.

Etiquetas: bash, programando
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:15.