如何将结果作为总数返回,而不是+ 1 + 1 + 1?

时间:2016-06-14 10:36:46

标签: shell

我有一张检查,检查数据库中缺少的文件数量。一切正常但是当我的代码运行并输出结果时,有3个文件丢失,但显示为“+ 1 + 1 + 1”。

我使用的代码是errcount = $ errcount + 1

为什么代码不会累积结果?

2 个答案:

答案 0 :(得分:1)

这是一种方式:

errcount=$(expr $errcount + 1)

(注意空格)

答案 1 :(得分:1)

这是一个字符串操作:

errcount=$errcount+1

它不做数学。

POSIX shell

如果您希望shell进行算术运算,可以使用$((...))构造:

errcount=$((errcount+1))

Bash有额外的非POSIX扩展来增加变量:

((errcount=errcount+1))

或者:

((errcount++))