GNU/Linux >> Linux の 問題 >  >> Linux

Linux バッシュ。 for ループと関数、数値の加算

これを試してください:

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

while ループを使用して、コードに似ています:

#!/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..) は `..whatever..` に似ており、コマンドを実行して値を返します。 test コマンドは非常に便利です。man を参照してください。この場合、条件 $j -ne $n (j not equal n) を比較し、ループの各ターンで j var に 1 を追加する for ループをシミュレートします。


以下を試すことができます:

#!/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. Linuxスクリプト:Bashでのwhileループの3つのハウツー

  2. Bashでは、いつエイリアスを作成し、いつスクリプトを作成し、いつ関数を作成するのですか?

  3. Bash の For ループと While ループの例

  1. Linuxユーザーと権限のチートシート

  2. Linux シェル スクリプト用の 12 の Bash for ループの例

  3. Bash while ループで and を使用する

  1. 初心者と専門家のための10のLinuxコマンドチュートリアル

  2. Linux用の10個の便利なBashエイリアス

  3. BashForループガイドと例