GNU/Linux >> Tutoriales Linux >  >> Linux

bash de linux. para bucle y función, para sumar números

Prueba esto:

n=$1

sum=0
for i in `seq 1 $n` ; do
    ## redefine variable 'sum' after each iteration of for-loop
    sum=`expr $sum + $i`
done

echo $sum

Con un bucle while y similar a tu código:

#!/bin/bash

n=$(expr $1 + 1)
result=0
j=0

add(){
    result=$(expr $result + $j)
}

while test $j -ne $n
do
    add
    j=$(expr $j + 1)
done

echo $result

El $(..lo que sea..) es similar a `..lo que sea..`, ejecuta su comando y devuelve el valor. El comando de prueba es muy útil, echa un vistazo al hombre. En este caso simula un ciclo for comparando la condición $j -ne $n (j no es igual a n) y sumando 1 a j var en cada vuelta del ciclo.


Puedes probar a continuación:

#!/usr/bin/env bash

sumit() {
    local n=$1
    local sum=0
    for (( i=0;i<=n;i++ )) ; do
        (( sum = sum + i ))
    done

    echo "$sum"
}

sum=$(sumit $1)
echo "sum is ($sum)"

Linux
  1. 10 tutoriales de comandos de Linux para principiantes y expertos

  2. Hoja de trucos para usuarios y permisos de Linux

  3. 10 prácticos alias de Bash para Linux

  4. Scripts de Linux:3 procedimientos para bucles while en Bash

  5. En Bash, ¿cuándo alias, cuándo escribir y cuándo escribir una función?

Bash romper y continuar

Cómo usar bash if -z y if -n para probar cadenas en Linux

Los mejores terminales Linux en línea y editores Bash en línea

Bash For Loop con ejemplos prácticos

Cómo borrar el historial de Bash en Linux y Mac

El Bash FOR Loop explicado y simplificado