passar variavel para o mkdir [RESOLVIDO]

1. passar variavel para o mkdir [RESOLVIDO]

iarly selbir
iarlyy

(usa Fedora)

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.


  


2. for neles!

Ruy Rocha
unixgeek

(usa Fedora)

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.

iarly selbir
iarlyy

(usa Fedora)

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]

Sandro Marcell
SMarcell

(usa Slackware)

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]

iarly selbir
iarlyy

(usa Fedora)

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]

Vítor De Araújo
ux386

(usa Debian)

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]

iarly selbir
iarlyy

(usa Fedora)

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






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts