根据一个list文件生成一个组合

假设有一个 list 如下:

$ cat aa
a
b
c
d

期望生成如下组合:

a b
a c
a d
b c
b d
c d

实现方法如下:

set -- $(cat $1)
for i in $* # $* 为所有位置变量的 list
do
shift
for j in $*
do
printf "%st%sn" "$i" "$j"
done
done
$ ./pair_combination.sh aa
a b
a c
a d
b c
b d
c d