我正在尝试计算文件数量,我ftp到不同的服务器。我的代码如下:
#!/bin/sh
cnt=0
cnt=`expr $cnt+1`
echo $cnt
它给了我结果:
0+1
我需要1
。
您能告诉我代码有什么问题吗?
答案 0 :(得分:2)
您可能希望使用$(())
进行计算。例如,像这样:
#!/bin/sh
cnt=0
cnt=$((cnt + 1))
echo $cnt
答案 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