shell脚本中while不能嵌套?

时间:2022-01-02 20:48:08
很奇怪
类似
!/bin/bash
while
do
  while
  do
  done
done
的一个双层循环就过不去
在vi中第二个while都是黑色的..
是我其中有错误还是脚本不支持循环嵌套?

6 个解决方案

#1


支持

#2


脚本支持循环嵌套。可能是楼主有什么地方写错了

试试这个:
#!/bin/bash
i=0
j=0
while [ "$i" -lt 2 ]
do
  while [ "$j" -lt 3 ]
  do
    echo $i, $j
    j=$(($j+1))
  done
  j=0
  i=$(($i+1))
done

运行之后,输出:
0, 0
0, 1
0, 2
1, 0
1, 1
1, 2

#3


试验了一下,的确如楼主所言。语法加亮是有问题的,不过运行正常。

#4


这个是绝对可以嵌套的嘛

#5


楼主,先测试下就清楚了。

#6


ke yi jiantao

#1


支持

#2


脚本支持循环嵌套。可能是楼主有什么地方写错了

试试这个:
#!/bin/bash
i=0
j=0
while [ "$i" -lt 2 ]
do
  while [ "$j" -lt 3 ]
  do
    echo $i, $j
    j=$(($j+1))
  done
  j=0
  i=$(($i+1))
done

运行之后,输出:
0, 0
0, 1
0, 2
1, 0
1, 1
1, 2

#3


试验了一下,的确如楼主所言。语法加亮是有问题的,不过运行正常。

#4


这个是绝对可以嵌套的嘛

#5


楼主,先测试下就清楚了。

#6


ke yi jiantao