Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
shell脚本中的嵌套For循环_Shell_Loops - Fatal编程技术网

shell脚本中的嵌套For循环

shell脚本中的嵌套For循环,shell,loops,Shell,Loops,我正在尝试使用嵌套for shell脚本中的循环来获得如下输出: i=1 j=1 iteration 1 i=2 j=2 iteration 2 i=3 j=1 iteration 3 i=4 j=2 iteration 4 i=5 j=1 iteration 5 i=6 j=2 iteration 6 差不多 for (( i=1; i <= 6;i++ )) do for ((j=1;j<2;j++)) do

我正在尝试使用嵌套for shell脚本中的循环来获得如下输出:

i=1 j=1 iteration 1
i=2 j=2 iteration 2  
i=3 j=1 iteration 3  
i=4 j=2 iteration 4  
i=5 j=1 iteration 5  
i=6 j=2 iteration 6  
差不多

for (( i=1; i <= 6;i++ ))
do
        for ((j=1;j<2;j++))
        do
        echo i=$i;echo j=$j;echo iteration $i
        ...
        done
done
Bash/Zsh/Ksh93中((i=1;i)的
(至少):

在标准命令语言中,以下各项也应适用:

iter=0
i=0

while (( i <= 6 ))
do
  j=0
  while (( ++j <= 2 && ++i <= 6 ))
  do
    printf "i=%d j=%d iteration %d\n" $i $j $(( ++iter ))
  done
done
iter=0
i=0

while((我)你的问题是什么?你是在问如何让
j
在1和2之间交替,这取决于
i
是奇数还是偶数?这不是一个嵌套的循环问题。更多的是“$j”问题我希望j在1和2之间交替,但这并不取决于我是奇数还是偶数。
let iter=0

for (( i=1; i <= 6; ))
do
  for (( j=1; j<=2; j++, i++ ))
  do
    printf "i=%d j=%d iteration %d\n" $i $j $(( ++iter ))
  done
done
i=1 j=1 iteration 1
i=2 j=2 iteration 2
i=3 j=1 iteration 3
i=4 j=2 iteration 4
i=5 j=1 iteration 5
i=6 j=2 iteration 6
iter=0
i=0

while (( i <= 6 ))
do
  j=0
  while (( ++j <= 2 && ++i <= 6 ))
  do
    printf "i=%d j=%d iteration %d\n" $i $j $(( ++iter ))
  done
done