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
Bash 嵌套for循环-输出一次_Bash_Shell_Unix - Fatal编程技术网

Bash 嵌套for循环-输出一次

Bash 嵌套for循环-输出一次,bash,shell,unix,Bash,Shell,Unix,我有一个嵌套的for循环来打印每个变量的一个字母 for i in a b ; do for j in 1 2; do echo "$i $j"; done; done a 1 a 2 b 1 b 2 我的要求是有 a 1 b 2 我怎么得到它 letters=(abcd)#声明一个包含四个元素的数组 letters=(a b c d) # declare an array with four elements numbers=(1 2 3 4) for ((i=0;i<${#l

我有一个嵌套的for循环来打印每个变量的一个字母

for i in a b ; do for j in 1 2; do echo "$i $j"; done; done
a 1
a 2
b 1
b 2
我的要求是有

a 1
b 2
我怎么得到它

letters=(abcd)#声明一个包含四个元素的数组
letters=(a b c d)    # declare an array with four elements
numbers=(1 2 3 4)
for ((i=0;i<${#letters[@]};i++)); do echo ${letters[$i]} ${numbers[$i]}; done
数字=(1 2 3 4)
对于((i=0;i您也可以使用正则变量和字符串索引执行相同的操作:

#!/bin/bash

letters="abcdefghi"
nums="123456789"

for ((i = 0; i < ${#nums}; i++)); do 
    printf "%s %s\n" ${letters:i:1} ${nums:i:1}
done

那么你就不需要嵌套的循环了。你需要一个循环来增加一个计数器。变量是什么类型的?是数组还是普通字符串?
#!/bin/bash

letters="abcdefghi"
nums="123456789"

for ((i = 0; i < ${#nums}; i++)); do 
    printf "%s %s\n" ${letters:i:1} ${nums:i:1}
done
$ bash prnidx.sh
a 1
b 2
c 3
d 4
e 5
f 6
g 7
h 8
i 9