为下一个代码寻找更好的解决方案:
for i in a b c
do
for j in A B C
do
for k in 1 2 3
do
echo "$i$j$k"
done
done
done
当然,这里有一些更简单的解决方案。
这有点简单
echo {a,b,c}{A,B,C}{1,2,3}
或者如果想要每行一个,所以
echo {a,b,c}{A,B,C}{1,2,3} | xargs -n1
顺便说一句,您可以使用上面的bracer扩展,例如保存键盘输入,例如在需要备份文件时,例如:
cp /some/long/path/And_very-ugly-fileName{,.copy}
将使/some/long/path/And_very-ugly-fileName.copy
无需第二个文件名键入。
使用大括号扩展:
echo {a,b,c}{A,B,C}{1,2,3}
这将打印集合 {a,b,c}
、{A,B,C}
和 {1,2,3}
之间的所有可能组合。
或者更简单,使用范围:
echo {a..c}{A..C}{1..3}
如果要每行打印每个组合,请使用for
-循环:
for i in {a..c}{A..C}{1..3}; do echo $i; done