【发布时间】:2023-11-25 02:35:01
【问题描述】:
我的代码:
RETVAL1=-1
if [ $RETVAL1 -le 0 ] ; then
RETVAL1=$RETVAL1+1
print "RETVAL1: $RETVAL1"
fi
它会打印出RETVAL1: -1+1
请问大家知道怎么修吗?
【问题讨论】:
标签: string shell integer increment ksh
我的代码:
RETVAL1=-1
if [ $RETVAL1 -le 0 ] ; then
RETVAL1=$RETVAL1+1
print "RETVAL1: $RETVAL1"
fi
它会打印出RETVAL1: -1+1
请问大家知道怎么修吗?
【问题讨论】:
标签: string shell integer increment ksh
要执行算术运算,请使用let 命令:let RETVAL1=RETVAL1+1
此外,将表达式括在$(( 和)) 之间也会将其解释为算术运算。 echo $((RETVAL+1))
【讨论】:
一种方式:
((RETVAL1=RETVAL1+1))
【讨论】:
Shell 变量的工作方式与大多数编程语言中的变量不同。如果要将 1 加到存储在变量中的整数,则需要一个算术表达式。我不是ksh 向导,但通常的 Bourne-derived-shell 算术表达式语法是:
RETVAL1=$((RETVAL1 + 1))
或
((RETVAL1 = RETVAL1 + 1))
【讨论】: