【问题标题】:Increase value variable bash增加值变量bash
【发布时间】:2015-05-22 11:29:52
【问题描述】:

我想在每次执行 if 语句时将 var upPCs 加一。

upPCs= 0;

if [ $? -eq 0 ]; then

$upPCs ++;

fi

这不起作用。

【问题讨论】:

  • 你可以在 bash 中使用:((upPCs++))
  • 你可以试试upPCs=$upPCs+1;
  • 附带说明:不要在= 周围放置空格。

标签: bash variables


【解决方案1】:

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

upPCs=0

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

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

    (( upPCs++ ))

fi

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

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

if some_command
then
    (( upPCs++ ))
fi

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-07
    • 1970-01-01
    • 2013-05-25
    • 2011-05-14
    • 1970-01-01
    • 1970-01-01
    • 2011-11-20
    • 2015-05-10
    相关资源
    最近更新 更多