添加两个数字

时间:2014-09-03 14:06:05

标签: shell

我正在尝试计算文件数量,我ftp到不同的服务器。我的代码如下:

#!/bin/sh
cnt=0    
cnt=`expr $cnt+1`    
echo $cnt 

它给了我结果:

0+1

我需要1

您能告诉我代码有什么问题吗?

4 个答案:

答案 0 :(得分:2)

您可能希望使用$(())进行计算。例如,像这样:

#!/bin/sh
cnt=0    
cnt=$((cnt + 1))    
echo $cnt 

取自2. Shell Command Language #Arithmetic Expansion

答案 1 :(得分:2)

expr不同,

$(( ))需要接收单独的shell参数。所以这将有效:

cnt=`expr $cnt + 1`

这样

cnt=$((cnt+1))

答案 2 :(得分:1)

cnt=0
((cnt++))

echo $cnt
1

((cnt++))
echo $cnt
2

答案 3 :(得分:1)

错误是您在' +'之前和之后没有空格。签字。
尝试使用空格包围数学运算符,如下所示:

#!/bin/sh
cnt=0    
cnt=`expr $cnt + 1`    
echo $cnt