web-dev-qa-db-ja.com

変数値を1増やす(シェルプログラミング)

私はシェルプログラミングの初心者であり、非常に愚かな質問のように聞こえますが、変数値を1増やすことはできないようです。 tutorial を見ましたが、それだけです2つの変数を加算する方法を示します

私は次の方法を試しましたが、うまくいきません

i=0

$i=$i+1 # doesnt work , command not found

echo "$i"

$i='expr $i+1' # doesnt work , command not found

echo "$i"

$i++ # doesnt work , command not found

echo "$i"

変数の値を1増やす方法は?

17
Computernerd

これを試すことができます:

i=0
i=$((i+1))
40
Gabriel L.

Bashで変数をインクリメントする方法は複数ありますが、試したことは正しくありません。

たとえば、算術展開を使用できます。

i=$((i+1))

またはのみ:

((i=i+1))

または:

((i+=1))

あるいは:

((i++))

または、letを使用できます。

let "i=i+1"

またはのみ:

let "i+=1"

あるいは:

let "i++"

http://tldp.org/LDP/abs/html/dblparens.html も参照してください。

11
zahid

Exprの使用方法:

i=0
i=`expr $i + 1`

i ++の使用方法

((i++)); echo $i;

GNU Bashでテスト済み

4
BMW

bcを使用することもできます。

var=$(echo "1+2"|bc)
0
kurumi

これらは私が知っている方法です:

ichramm@NOTPARALLEL ~$ i=10; echo $i;
10
ichramm@NOTPARALLEL ~$ ((i+=1)); echo $i;
11
ichramm@NOTPARALLEL ~$ ((i=i+1)); echo $i;
12
ichramm@NOTPARALLEL ~$ i=`expr $i + 1`; echo $i;
13

最後の例のスペースに注意してください。また、$iを使用するのはそれだけです。

0
Juan Ramirez