GNU/Linux >> Belajar Linux >  >> Linux

Pesta Linux. untuk loop dan fungsi, untuk menambahkan angka

Coba ini:

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

Dengan while loop dan mirip dengan kode Anda:

#!/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..) mirip dengan `..whatever..`, ia mengeksekusi perintah Anda dan mengembalikan nilainya. Perintah test sangat berguna, lihat pria itu. Dalam hal ini mensimulasikan for for loop dengan membandingkan kondisi $j -ne $n (j not equal n) dan menambahkan 1 ke j var di setiap pergantian loop.


Anda dapat mencoba di bawah ini:

#!/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 tutorial perintah Linux untuk pemula dan ahli

  2. 10 alias Bash yang berguna untuk Linux

  3. 12 Contoh Bash For Loop untuk Scripting Shell Linux Anda

  1. Lembar contekan untuk pengguna dan izin Linux

  2. Skrip Linux:3 cara untuk while loop di Bash

  3. Menggunakan dan di Bash while loop

  1. Panduan Bash For Loop dan Contohnya

  2. Di Bash, Kapan Alias ​​​​Kapan Skrip, Dan Kapan Menulis Fungsi?

  3. Sejajarkan Bash Untuk Loop?