Pular para o conteúdo

passar variavel para o mkdir [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. passar variavel para o mkdir [RESOLVIDO]

Enviado em 01/09/2008 - 11:22h

Aew galera se voces poderem me ajudar numa coisinha simples mais q ta me tirando uns cabelos heheh

look this:

#!/bin/bash

defaults="algo1,algo2"

mkdir -p teste/{$defaults}

o que eu queria era, ele criar a pasta teste e dentro dela as duas pastas algo1 e algo2 hehe, só que em vez disso ele cria dentro de teste uma pasta "{algo1,algo2}" ja tentei chave pra lá, aspa pra cá auhahu num resolveu, dei umas googladas mais tb n achei muita coisa


alguem sabe como passar essa variavel pro mkdir ???

desde já, obg.

Responder tópico

2. for neles!

Enviado em 01/09/2008 - 11:45h

Velhinho, faz o seguinte:

VARIAVEL_FELIZ="lista de pastas que voce quer"

for ITEM in VARIAVEL_FELIZ
do
mkdir -p diretorio/$ITEM
done

O for é seu amigo, bem amigo mesmo! O codezinho acima irá criar os sub-diretórios "lista, de, pastas, que, voce, quer" dentro de "diretório", belê?

[]s

3. poderia.. mais nao da.

Enviado em 01/09/2008 - 11:55h

é meu caro seria uma solucao mais nao daria pra mim pq eu num tenho so um nivel

tem teste/{pasta1,pasta2/{sub1,sub2},pasta3/{sub1/{ssub1}}}

ae essa variavel do "for" ficaria enorme quando eu posso tornar mais pratico dando um unico mkdir -p so preciso encontrar uma forma de passar essa variavel

4. Re: passar variavel para o mkdir [RESOLVIDO]

Enviado em 01/09/2008 - 12:44h

É uma solução meio "porca", mas acho que talvez possa lhe ajudar:

-----------------------------
#!/bin/bash
defaults={algo1,algo2}
eval mkdir -p teste/`echo $defaults`
-----------------------------

5. Re: passar variavel para o mkdir [RESOLVIDO]

Enviado em 01/09/2008 - 13:16h

Pelo jeito nao tem como passar essa variavel pro mkdir neh?

6. Re: passar variavel para o mkdir [RESOLVIDO]

Enviado em 02/09/2008 - 23:03h

É que na verdade, quando você digita algo como dir/{sub1,sub2}, é o shell quem faz a substituição do parâmetros -- o mkdir não faz a mínima idéia se você usou chaves ou não, ele recebe os parâmetros "mastigados" pelo shell. Quer dizer, não há como "passar uma variável" dessa maneira. A solução com o eval "é o que tem"... :-)

Mas umas aspas não fariam mal a ninguém, e não há necessidade daquele echo...
eval "mkdir -p $variavel_feliz"

7. Re: passar variavel para o mkdir [RESOLVIDO]

Enviado em 02/09/2008 - 23:17h

pois eh

meu mkdir ficou

dirs="{1,2,3}
eval mkdir -p teste/$dirs

foi o jeito mais vlw a aprendizagem... :)

obg

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder