2014-01-10 69 views
4

我是一名初学者编程的shell编程,听起来像一个非常愚蠢的问题,但我似乎无法将变量值增加1.我看过tutorial,但它只是显示了如何一起2个变量将变量值增加1(shell编程)

我曾尝试以下方法,但它不工作

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的一个变量的值加?

+0

对变量的赋值在表达式的LHS上不会有前导'$'字符。 – shellter

回答

14

你可以试试这个:

i=0 
i=$((i+1)) 
3

的方式使用EXPR:

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

使用我++

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

在GNU的bash测试

0

你可以使用bc,因为它也可以做花车的方式

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

有多种方法可以在bash中增加一个变量,但是您尝试的方法不正确。

可以使用例如算术扩展:

i=$((i+1)) 

或只:

((i=i+1)) 

或:

((i+=1)) 

甚至:

((i++)) 

或者你可以使用让:

let "i=i+1" 

或只:

let "i+=1" 

甚至:

let "i++" 

另请参见:http://tldp.org/LDP/abs/html/dblparens.html