我想每次通过if语句时将var upPCs增加一。
upPCs= 0;
if [ $? -eq 0 ]; then
$upPCs ++;
fi
这不起作用。
答案 0 :(得分:0)
Bash(和其他shell)不允许在等号周围留出空格。一个分号;用于分隔一行上的命令,因此在行尾添加一个是浪费(除非你真的喜欢打字分号......)。
upPCs=0
使用(( ))
进行算术运算:
if (( $? == 0 )); then
(( upPCs++ ))
fi
最后,您应该在if
(以及while
,for
等)语句中缩进代码,因为如果您不这样做,小猫就会死亡。说真的,如果你不缩进,脚本会很快变得不可读 - 这是值得的。
顺便说一句,通常您不需要明确地测试$?
。您没有显示正在测试结果的命令,但原则是如果命令成功则if
为真(退出代码为零被视为成功)。例如:
if some_command
then
(( upPCs++ ))
fi