#!/bin/basharg1=(`cat /root/1`)arg2=(`awk '{print $2}' /root/2`)n=0if [ ${#arg1[*]} -ge ${#arg2[*]} ];then        x=${#arg1[*]}        for ((n=0;n<$x;n++))                do echo ${arg1[$n]} ${arg2[$n]}        doneelse        x=${#arg2[*]}        for ((n=0;n<$x;n++))                do echo ${arg1[$n]} ${arg2[$n]}        donefiunset arg1unset arg2

上面脚本用到的两个文件的内容是:

[root@localhost ~]# cat 1

1

2

3

4

5

[root@localhost ~]# cat 2

1 a

2 b

3 c

4 d

5 e

6 f

   这里主要就是用到了判断两个数组长度并对比。上面arg1数组和arg2数组比长度,得出的结论是arg1数组共有5个元素,而arg2数组共有6个元素,所以设置for循环的循环次数为arg2数组的长度。