0
外環外循環只執行一次,但應執行四次:bash的嵌套而:下面的bash腳本只執行一次
#!/bin/bash
NX="4"
NY="6"
echo "NX = $NX, NY = $NY"
IX="0"
IY="0"
while ((IX < NX))
do
while ((IY < NY))
do
echo "IX = $IX, IY = $IY";
IY=$((IY+1))
done;
IX=$((IX+1))
done
我也曾嘗試聲明循環變量declare -i NX=0
(不含引號),但無論哪種方式我得到的輸出是
NX = 4, NY = 6
IX = 0, IY = 0
IX = 0, IY = 1
IX = 0, IY = 2
IX = 0, IY = 3
IX = 0, IY = 4
IX = 0, IY = 5
這是什麼原因,我該如何解決它?請注意,我寧願離開NX="4"
和NY="6"
(帶引號),因爲這些實際上來自另一個腳本。
在第一個'do'後面寫'echo「IX = $ IX」',你會看到它完美循環!也就是說,它從0到3循環。給你更多關於你想做什麼的背景,所以我們可以提供幫助。 – fedorqui
爲什麼使用'while'循環而不是'for'來啓動? (for((ix = 0; ix
@CharlesDuffy'while'來自我編輯的skript以滿足我的需求。我只是沒有包括變量重置,因此錯誤。當然,「for」工作正常 - 但我對條件陳述的大量備選方案感到如此困惑,以至於我不想深入研究。 – Christoph