shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: Ajuda Urgente com FORO


From: Jeiks
Subject: Re: [shell-script] Re: Ajuda Urgente com FORO
Date: Thu, 4 Jun 2009 14:00:15 -0300

O gente, eu eu sei que daria assim....

acho q nao me expressei bem,
to querendo aproveitar as substituições aqui para perguntar, agora
explicitamente, hhee:
ao utilizar as chaves para gerar o grupo das strings que eu quero, tipo ao
criar um diretório por exemplo, quando faço mkdir
{seila,maisalgo,outracoisa}, ocorre tudo muito bem.
Agora o seguinte, se eu tivesse essa lista em uma variável por exemplo:
VAR=seila,maisalgo,outracoisa
tem como eu substituir esse var dentro das chaves antes da interpretação do
comando?
assim nao funfa: mkdir {$VAR}

e Rafael, concordo com o MrBits... hehe

pq vc nao faz:

#!/bin/bash

[ $# -ne 1 ] && {
    echo "Erro: Informe o número final da sequência! Ex: $0 100"
    exit 1
}

DADOS="/dados/"

for num in $(seq -w -s ' ' $1);do
        mkdir $DADOS$num
        chgrp clientes $DADOS$num
        chmod 740 $DADOS$num
        echo $DADOS$num
done

--------------------------------------------------

ou ainda:

---------------------------------------------------
#!/bin/bash

[ $# -lt 3 ] && {
     echo "Parâmetros errados, utilize:"
    echo " $0 DESTINO INICIO_SEQ FIM_SEQ [quantidade de zeros]"
    exit 1
}

PASTARAIZ=$1
INICIO=$2
FIM=$3
SEQUENCIA=""

[ -z "$4" ] && \
    SEQUENCIA=$(seq -w -s ' ' $INICIO $FIM) || \
    SEQUENCIA=$(printf "%0${4}d " `seq $INICIO $FIM`)

for num in $SEQUENCIA;do
    DEST=$PASTARAIZ$num
    echo -n "Criando pasta [$DEST]..."
    mkdir -p $DEST && {
        echo ok
        chgrp clientes $DEST
        chmod 740 $DEST
    }
done

--------------------------------------------------

abs

2009/6/4 Wilson Varaschin <address@hidden>

>
>
> Bom dia,
>
> Coloque assim que funcionará
>
>
> mkdir `seq -s " " -w 100`
>
> ________________________________
> De: Anderson Kaiser <address@hidden <alpkaiser%40gmail.com>>
> Para: address@hidden <shell-script%40yahoogrupos.com.br>
> Enviadas: Quinta-feira, 4 de Junho de 2009 10:50:43
> Assunto: Re: [shell-script] Re: Ajuda Urgente com FORO
>
>
> 2009/6/3 Jeiks <jacsonrcsilva@ gmail.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
> alpkaiser@gmail. com
> Linux User #: 426240
>
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados.yahoo.com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Jacson R. C. Silva


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]