GNU/Linux >> Tutoriels Linux >  >> Linux

bash Linux. pour boucle et fonction, pour additionner des nombres

Essayez ceci :

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

Avec une boucle while et similaire à votre code :

#!/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

Le $(..whatever..) est similaire à `..whatever..`, il exécute votre commande et renvoie la valeur. La commande de test est très utile, consultez l'homme. Dans ce cas, simule une boucle for comparant la condition $j -ne $n (j différent de n) et ajoutant 1 à la j var à chaque tour de la boucle.


Vous pouvez essayer ci-dessous :

#!/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 tutoriels de commande Linux pour débutants et experts

  2. 10 alias Bash pratiques pour Linux

  3. 12 exemples de boucle Bash For pour votre script de shell Linux

  4. Bash for loop Exemples

  5. Utiliser et dans la boucle while de Bash

Bash pause et continuer

Comment utiliser bash if -z et if -n pour tester des chaînes sous Linux

Meilleurs terminaux Linux en ligne et éditeurs Bash en ligne

Bash For Loop avec des exemples pratiques

Comment effacer l'historique de Bash sous Linux et Mac

La boucle Bash FOR expliquée et simplifiée