Olá pessoal, Consegui resolver o meu problema da seguinte forma:
#!/bin/bash #Define as variaveis variavel=1 valor=1 DADOS="/dados/" #Verifica a condição while [ $variavel = $valor ]; do #Conta quanto caracteres a variavel valor tem cont=`expr length $valor` #Se tiver 1 caracter, acrescenta 7 zeros na frente do numero if [ $cont -eq 1 ]; then zero=0000000 valor2=$zero$valor mkdir $DADOS$valor2 chgrp -R clientes $DADOS$valor2 chmod -R 740 $DADOS$valor2 echo $DADOS$valor2 fi #Se tiver 2 caracter, acrescenta 6 zeros na frente do numero if [ $cont -eq 2 ]; then zero=000000 valor2=$zero$valor mkdir $DADOS$valor2 chgrp -R clientes $DADOS$valor2 chmod -R 740 $DADOS$valor2 echo $DADOS$valor2 fi #Se tiver 3 caracter, acrescenta 5 zeros na frente do numero if [ $cont -eq 3 ]; then zero=00000 valor2=$zero$valor mkdir $DADOS$valor2 chgrp -R clientes $DADOS$valor2 chmod -R 740 $DADOS$valor2 echo $DADOS$valor2 fi #Se tiver 4 caracter, acrescenta 4 zeros na frente do numero if [ $cont -eq 4 ]; then zero=0000 valor2=$zero$valor mkdir $DADOS$valor2 chgrp -R clientes $DADOS$valor2 chmod -R 740 $DADOS$valor2 echo $DADOS$valor2 fi #Se tiver 5 caracter, acrescenta 3 zeros na frente do numero if [ $cont -eq 5 ]; then zero=000 valor2=$zero$valor mkdir $DADOS$valor2 chgrp -R clientes $DADOS$valor2 chmod -R 740 $DADOS$valor2 echo $DADOS$valor2 fi #Se tiver 6 caracter, acrescenta 2 zeros na frente do numero if [ $cont -eq 6 ]; then zero=00 valor2=$zero$valor mkdir $DADOS$valor2 chgrp -R clientes $DADOS$valor2 chmod -R 740 $DADOS$valor2 echo $DADOS$valor2 fi #Se tiver 7 caracter, acrescenta 1 zero na frente do numero if [ $cont -eq 7 ]; then zero=0 valor2=$zero$valor mkdir $DADOS$valor2 chgrp -R clientes $DADOS$valor2 chmod -R 740 $DADOS$valor2 echo $DADOS$valor2 fi #Se o valor for iagual 2000200, diminui 10000 para sair do loop if [ $valor -eq 2000200 ]; then valor=`expr $valor + 198765` fi #Soma a variavel +1, para continuar no loop valor=$(($valor + 1)) variavel=$(($variavel+1)) done 2009/6/4 Anderson Kaiser <alpkai...@gmail.com> > > > 2009/6/3 Jeiks <jacsonrcsi...@gmail.com <jacsonrcsilva%40gmail.com>> > > > > > > > Opa, > > gente... puxando um pouquinho pra mais assuntos... sei que deve ter como > > melhorar, mas olha: > > se eu fizer: > > > > mkdir {001,002,003,004} > > > > ele cria, sem problemas os diretorios 001, 002, 003 e 004. > > Então seria interessante, se fosse possível, criar uns 100 diretórios > > assim: > > > > mkdir {`seq -s , -w 100`} > > > > porém não funciona, penso que seja a ordem que o shell executa as > > funções. > > Mas assim funciona: > > > > bash -c "$(echo mkdir {$(seq -s , -w 100)})" > > > > O comando "seq" e depois o "echo" são primeiramente interpretados e a > > expressão correta é escrita. Esta então é interpretada pelo nosso bash. > > Como viram, ficou uma coisa feia que só.... hehehe > > Gostaria de saber se alguem tem idéia de como a gente melhora isso, > > porém seguindo a mesma idéia de utilizar as chaves e algo pra não termos > que > > digitar todo os 100 algarismos. > > > > abraços a todos > > Por que não usar assim, para seu exemplo: > > for i in $(seq 200) ; do mkdir $i ; done > > -- > Anderson Kaiser > alpkai...@gmail.com <alpkaiser%40gmail.com> > Linux User #: 426240 > > [As partes desta mensagem que não continham texto foram removidas]