#!/bin/sh

a=1


a=$(($a+1))


a=$[$a+1]


a=`expr $a + 1`


let a++


let a+=1


((a++))


echo $a



1.古典方法
length=`expr length + 1`
2. bash only
$((length++)) 




1. i=`expr $i + 1`;
2. let i+=1;
3. ((i++));
4. i=$[$i+1];
5. i=$(( $i + 1 )) 




shell中如何设置自增的变量

loop=1
for i in `ls`
do
#   loop=`expr $loop + 1`
#   let loop+=1
#   ((loop++))
#   loop=$[$loop+1] 
    loop=$(( $loop + 1 ))
    echo  "$i "
    echo "num : $loop"
done

注意:loop=`expr $loop + 1` ,loop变量左右 不能 有空格,并且 不是 单引号;

另外,对于固定次数的循环,可以通过seq命令来实现,就不需要变量的自增了;实例如下:
#!/bin/bash
for j in $(seq 1 5)
do
  echo $j

done