#!/bin/bash
# 用10种不同的方法计数到11

n=1; echo -n "输出1=>$n " # 输出1

let "n = $n + 1"   # let "n = n + 1"也可以
echo -n "输出2=>$n "      # 输出2


: $((n = $n + 1))
#  ":"是需要的，
#+ 否则Bash会尝试把"$((n = $n + 1))"作为命令运行
echo -n "输出3=>$n "      # 输出3

(( n = n + 1 ))
#  上面是更简单的可行的办法
echo -n "输出4=>$n "      # 输出4

n=$(($n + 1))
echo -n "输出5=>$n "      # 输出5

: $[ n = $n + 1 ]
#  ":"是需要的，
#+ 否则Bash会尝试把"$[ n = $n + 1 ]"作为命令运行。
#  即使"n"被当作字符串来初始化也能工作。
echo -n "输出6=>$n "      # 输出6

n=$[ $n + 1 ]
#  即使"n"被当作字符串来初始化也能工作。
#* 应避免这种使用这种结构,因为它是被废弃并不可移植的。
echo -n "输出7=>$n "      # 输出7

# 现在是C风格的增加操作。

let "n++"                 # let "++n"也可以。
echo -n "输出8=>$n "      # 输出8

(( n++ ))                 # (( ++n )也可以。
echo -n "输出9=>$n "      # 输出9

: $(( n++ ))              # : $(( ++n ))也可以。
echo -n "输出10=>$n "     # 输出10

: $[ n++ ]                # : $[ ++n ]]也可以。
echo -n "输出11=>$n "     # 输出11

echo

exit 0