我需要准备一个简单的脚本来生成存储在变量中的一组元素的所有排列,这些元素以 n 个元素为一组(可参数化),想到的最简单的解决方案是根据所选长度使用多个循环群组。但我认为利用 echo 命令生成组合的能力会更优雅,即
echo {1,2}{1,2}
11 12 21 22
所以使用这种方法,我试图实现一种通用的方法,使用元素列表(例如 {1,2})和元素数量作为输入参数。它会是这样的:
set={1,2,3,4}
group=3
for ((i=0; i<$group; i++));
do
repetition=$set$repetition
done
所以在这种特殊情况下,在循环结束时,重复变量的值是 {1,2,3,4}{1,2,3,4}{1,2,3,4}。但我无法找到使用此变量使用 echo 命令生成组合的方法。我试过了,有几件事:
echo $repetition
echo $(echo $repetition)
我坚持下去,我会很感激任何提示或帮助。