只是关于在bash中进行后增量的正确方法的一个小问题。Bash Post Increment
while true; do
VAR=$((CONT++))
echo "CONT: $CONT"
sleep 1
done
VAR在这种情况下从1开始。
CONT: 1
CONT: 2
CONT: 3
但是,如果我这样做:
while true; do
echo "CONT: $((CONT++))"
sleep 1
done
它从0开始
CONT: 0
CONT: 1
CONT: 2
看来,第一种情况下表现好,因为((CONT ++))将评估CONT(未定义,¿0?)并添加+1。
我怎样才能得到像echo
语句中的行为分配给一个变量?
编辑:在我的第一个例子中,而不是回显CONT,我应该回显VAR,这样它的工作正常,所以这是我从一开始的错误。
谢谢,我明白了,但我想在赋值给变量而不是回声中做。在回声中它工作正常,但不是当我分配给变量(我不知道从0开始的正确方法)。 – JorgeeFG 2013-02-22 13:55:17
我刚刚注意到它的效果很好,并且是我在第一个示例中的错误,而不是回显VAR,我回应了CONT。这就是为什么它没有工作。 – JorgeeFG 2013-02-22 13:58:14
@Jorge您的第一个案例('$ VAR')从0开始 – Kent 2013-02-22 13:58:36