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