我的代码:
RETVAL1=-1
if [ $RETVAL1 -le 0 ] ; then
RETVAL1=$RETVAL1+1
print "RETVAL1: $RETVAL1"
fi
它打印RETVAL1: -1+1
任何想法如何修复它吗?
要执行算术运算,请使用以下let
命令:let RETVAL1=RETVAL1+1
此外,将表达式括在$((
and之间))
也会将其解释为算术运算。 echo $((RETVAL+1))
单程:
((RETVAL1=RETVAL1+1))
Shell 变量不像大多数编程语言中的变量那样工作。如果要将 1 加到存储在变量中的整数,则需要一个算术表达式。我不是ksh
巫师,但通常的 Bourne-derived-shell 算术表达式语法是:
RETVAL1=$((RETVAL1 + 1))
或者
((RETVAL1 = RETVAL1 + 1))