GNU/Linux >> Linux Esercitazione >  >> Linux

Bash di Linux. ciclo for e funzione, per sommare numeri

Prova questo:

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 ciclo while e simile al tuo codice:

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

$(..whatever..) è simile a `..whatever..`, esegue il tuo comando e restituisce il valore. Il comando test è molto utile, dai un'occhiata a man. In questo caso simula un ciclo for confrontando la condizione $j -ne $n (j diverso da n) e aggiungendo 1 alla j var in ogni giro del ciclo.


Puoi provare qui sotto:

#!/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. In Bash, quando alias, quando script e quando scrivere una funzione?

  2. Parallelizzare un Bash For Loop?

  3. Esempi di Bash For Loop e While Loop

  4. Esempi di Bash for loop

  5. Usando e in Bash mentre il ciclo

Bash pausa e continua

Come usare bash if -z e if -n per testare le stringhe in Linux

I migliori terminali Linux online e gli editor Bash online

Bash For Loop con esempi pratici

Come cancellare la cronologia di Bash in Linux e Mac

Il ciclo Bash FOR spiegato e semplificato