#!/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数组的长度。