我有一张检查,检查数据库中缺少的文件数量。一切正常但是当我的代码运行并输出结果时,有3个文件丢失,但显示为“+ 1 + 1 + 1”。
我使用的代码是errcount = $ errcount + 1
为什么代码不会累积结果?
答案 0 :(得分:1)
这是一种方式:
errcount=$(expr $errcount + 1)
(注意空格)
答案 1 :(得分:1)
这是一个字符串操作:
errcount=$errcount+1
它不做数学。
如果您希望shell进行算术运算,可以使用$((...))
构造:
errcount=$((errcount+1))
Bash有额外的非POSIX扩展来增加变量:
((errcount=errcount+1))
或者:
((errcount++))