递增值变量bash

递增值变量bash,bash,variables,Bash,Variables,我想在每次执行if语句时将var upPCs增加1 upPCs= 0; if [ $? -eq 0 ]; then $upPCs ++; fi 这不起作用。Bash(和其他shell)不允许等号周围有空格。分号;用于在一行中分隔命令,因此将一个命令放在行的末尾是一种浪费(除非您真正喜欢键入分号…) 对算术使用(()): if (( $? == 0 )); then (( upPCs++ )) fi 最后,您应该在if(和while,for等)语句中缩进代码,因为如果不缩进,

我想在每次执行if语句时将var upPCs增加1

upPCs= 0;

if [ $? -eq 0 ]; then

$upPCs ++;

fi
这不起作用。

Bash(和其他shell)不允许等号周围有空格。分号;用于在一行中分隔命令,因此将一个命令放在行的末尾是一种浪费(除非您真正喜欢键入分号…)

对算术使用
(())

if (( $? == 0 )); then

    (( upPCs++ ))

fi
最后,您应该在
if
(和
while
for
等)语句中缩进代码,因为如果不缩进,小猫就会死亡。说真的,如果不缩进,脚本很快就会变得不可读——这是值得的

顺便说一下,通常您不需要显式地测试
$?
。您不会显示正在测试结果的命令,但原则是,如果命令成功,则
if
为真(退出代码为零视为成功)。例如:

if some_command
then
    (( upPCs++ ))
fi

您可以在bash中使用:
((upPCs++)
在旁注上:不要在
=
周围加空格。
if some_command
then
    (( upPCs++ ))
fi