GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-Bash. für Schleife und Funktion, zum Addieren von Zahlen

Versuchen Sie Folgendes:

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

Mit einer While-Schleife und ähnlich Ihrem 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

Das $(..whatever..) ähnelt `..whatever..`, es führt Ihren Befehl aus und gibt den Wert zurück. Der Testbefehl ist sehr nützlich, sehen Sie sich den Mann an. Simuliert in diesem Fall eine for-Schleife, die die Bedingung $j -ne $n (j ungleich n) vergleicht und bei jedem Durchlauf der Schleife 1 zu j var hinzufügt.


Sie könnten Folgendes versuchen:

#!/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 Linux-Befehls-Tutorials für Anfänger und Experten

  2. 10 praktische Bash-Aliase für Linux

  3. Bash For Loop Guide und Beispiele

  4. Beispiele für Bash-For- und While-Schleifen

  5. 12 Bash-For-Loop-Beispiele für Ihr Linux-Shell-Scripting

Bash brechen und fortfahren

So verwenden Sie bash if -z und if -n zum Testen von Zeichenfolgen in Linux

Beste Online-Linux-Terminals und Online-Bash-Editoren

Bash For Loop mit praktischen Beispielen

So löschen Sie den Bash-Verlauf in Linux und Mac

Die Bash FOR-Schleife erklärt und vereinfacht