在for循环unix中以相同的顺序组合两个变量

时间:2014-05-09 22:21:36

标签: for-loop

这听起来很简单,但我不能以简单的方式做到这一点。在shell for循环中,有两个变量

A=" 1 2 3 4"

B=" a b c d"

,尝试打印1a 2b 3c 4d。试过

A=" 1 2 3 4" 
B=" a b c d" 

for m in $A for n in $B; do echo $m$n done

输出

1
2
3
4
5

l
in
a
b
c
d
e

任何人都可以帮忙解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

以下是一种方法:

$ A=(1 2 3 4); B=(a b c d); for i in $(seq 0 3); do echo ${A[$i]}${B[$i]}; done
1a
2b
3c
4d

答案 1 :(得分:0)

在你的尝试中,for case并没有被a关闭,因此它会将你的第二个for语句中的单词解释为第一个for语句的情况。

改为使用:

A="1 2 3 4" 
B="a b c d" 
for m in $A ; do
    for n in $B ; do 
       echo $m$n
    done
done