只是關於在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