Olá, Dá uma olhada nesse artigo do Júlio pra ver se te ajuda, a saída é um pouco mais completa do que a do seu exemplo:
http://www.dicas-l.com.br/cantinhodoshell/cantinhodoshell_20080519.php Exemplo: $ a={a,b,c} $ eval echo $a$a$a aaa aab aac aba abb abc aca acb acc baa bab bac bba bbb bbc bca bcb bcc caa cab cac cba cbb cbc cca ccb ccc Abs, André 2008/6/21 Ivan lopes <[EMAIL PROTECTED]>: > > permutar a,b,c: > > saida: abc acb bac bca cab cba > > --------------------------------------%<-------------------------------------- > #!/bin/bash > > v=eval > e=echo > s=sed > r=( a b c ); > _c() > { > for ((i=0; i<${#r[*]}; i++)); do > > for c in ${r[*]}; do > o=$o$c',' > done > > t=$t'{'$($e $o| $s 's/,$//')'}' > o='' > done > > $v $e $t | > $s -r " > s/(${r[0]}${r[0]}${r[0]}|[^${r[0]}]${r[0]}${r[0]}|${r[0]}[^${r[0]}]${r[0]}|${r[0]}${r[0]}[^${r[0]}]|${r[0]}${r[0]}${r[0]})\>//g; > s/(${r[1]}${r[1]}${r[1]}|[^${r[1]}]${r[1]}${r[1]}|${r[1]}[^${r[1]}]${r[1]}|${r[1]}${r[1]}[^${r[1]}]|${r[1]}${r[1]}${r[1]})\>//g; > s/(${r[2]}${r[2]}${r[2]}|[^${r[2]}]${r[2]}${r[2]}|${r[2]}[^${r[2]}]${r[2]}|${r[2]}${r[2]}[^${r[2]}]|${r[2]}${r[2]}${r[2]})\>//g; > " > } > > _c| sed 's/\s\+/ /g;s/ //' > --------------------------------------%<-------------------------------------- > > ou > > v=eval; e=echo; s=sed; r=( a b c ); _c() { for ((i=0; i<${#r[*]}; > i++)); do for c in ${r[*]}; do o=$o$c','; done; t=$t'{'$($e $o| sed > 's/,$//')'}';o='';done; $v $e $t | $s -r " > s/(${r[0]}${r[0]}${r[0]}|[^${r[0]}]${r[0]}${r[0]}|${r[0]}[^${r[0]}]${r[0]}|${r[0]}${r[0]}[^${r[0]}]|${array[0]}${array[0]}${array[0]})\>//g; > s/(${r[1]}${r[1]}${r[1]}|[^${r[1]}]${r[1]}${r[1]}|${r[1]}[^${r[1]}]${r[1]}|${r[1]}${r[1]}[^${r[1]}]|${array[1]}${array[1]}${array[1]})\>//g; > s/(${r[2]}${r[2]}${r[2]}|[^${r[2]}]${r[2]}${r[2]}|${r[2]}[^${r[2]}]${r[2]}|${r[2]}${r[2]}[^${r[2]}]|${array[2]}${array[2]}${array[2]})\>//g; > "; }; _c| $s 's/\s\+/ /g;s/ //' >
