ksh - var = $ var + 1返回1 + 1字符串

时间:2013-04-19 05:22:25

标签: string shell integer increment ksh

我的代码:

RETVAL1=-1
if [ $RETVAL1 -le 0 ] ; then
  RETVAL1=$RETVAL1+1
  print "RETVAL1: $RETVAL1"
fi

并打印RETVAL1: -1+1 知道如何修理它吗?

4 个答案:

答案 0 :(得分:4)

要执行算术运算,请使用let命令:let RETVAL1=RETVAL1+1

此外,将$(())之间的表达式括起来也会将其解释为算术运算。 echo $((RETVAL+1))

答案 1 :(得分:3)

使用let命令。此命令执行算术运算。 +运算符执行字符串添加。

像这样使用:

let RETVAL1=RETVAL1+1

您还可以使用expr命令获得更多通用表达式。

答案 2 :(得分:2)

一种方式:

((RETVAL1=RETVAL1+1))

答案 3 :(得分:1)

在大多数编程语言中,Shell变量不像变量那样工作。如果要将1添加到存储在变量中的整数,则需要算术表达式。我不是ksh向导,但通常的Bourne-derived-shell算术表达式语法是:

RETVAL1=$((RETVAL1 + 1))

((RETVAL1 = RETVAL1 + 1))