增加值变量bash

时间:2015-05-22 11:29:52

标签: bash variables

我想每次通过if语句时将var upPCs增加一。

upPCs= 0;

if [ $? -eq 0 ]; then

$upPCs ++;

fi

这不起作用。

1 个答案:

答案 0 :(得分:0)

Bash(和其他shell)不允许在等号周围留出空格。一个分号;用于分隔一行上的命令,因此在行尾添加一个是浪费(除非你真的喜欢打字分号......)。

upPCs=0

使用(( ))进行算术运算:

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

    (( upPCs++ ))

fi

最后,您应该在if(以及whilefor等)语句中缩进代码,因为如果您不这样做,小猫就会死亡。说真的,如果你不缩进,脚本会很快变得不可读 - 这是值得的。

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

if some_command
then
    (( upPCs++ ))
fi