Criar árvore de diretórios para repositorio pessoal [RESOLVIDO]

1. Criar árvore de diretórios para repositorio pessoal [RESOLVIDO]

allendohorizonte
allendohorizonte

(usa Slackware)

Enviado em 16/01/2012 - 15:19h

Gostaria de saber se existe alguma forma do comando mkdir interpretar alguns caracteres especiais, tais como "{}" "," "()" dentro de variáveis, pois quando tento fazer a construção de uma árvore de diretório ele nomeia a pasta com as "{}" ou os "()" ficando mais ou menos assim: {contrib,main,non-free}


os comandos são esses:

COMPONENTS="contrib,main,non-free"
DISTRIB=`lsb_release -sc`
DISTS="dists/$DISTRIB/{$COMPONENTS}"
POOL="pool/$DISTRIB/$COMPONENTS"
TIPO="binary-i386,sources"

mkdir -p $DISTS
mkdir -p $POOL



  


2. Re: Criar árvore de diretórios para repositorio pessoal [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 16/01/2012 - 15:34h

Use laços de repetição.


# declare o array
COMPONENTS=(contrib main non-free)

# use cada elemento do array para criar
# a árvore através de laço de repetição determinado.
for COMPONENTE in ${COMPONENTS[@]}
do
mkdir -p ${DISTS}/${COMPONENTE}
mkdir -p ${POLL}/${COMPONENTE}
done





3. Re: Criar árvore de diretórios para repositorio pessoal [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 16/01/2012 - 15:42h

allendohorizonte escreveu:

Gostaria de saber se existe alguma forma do comando mkdir interpretar alguns caracteres especiais, tais como "{}" "," "()" dentro de variáveis, pois quando tento fazer a construção de uma árvore de diretório ele nomeia a pasta com as "{}" ou os "()" ficando mais ou menos assim: {contrib,main,non-free}

os comandos são esses:

COMPONENTS="contrib,main,non-free"
DISTRIB=`lsb_release -sc`
DISTS="dists/$DISTRIB/{$COMPONENTS}"
POOL="pool/$DISTRIB/$COMPONENTS"
TIPO="binary-i386,sources"

mkdir -p $DISTS
mkdir -p $POOL


Vamos lá, tive que mudar um pouco a estrutura do script, mas deu certo:



#!/bin/bash

COMPONENTS="contrib main non-free"
DISTRIB=`lsb_release -sc`
DISTS="dist/$DISTRIB"
POOL="pool/$DISTRIB"
TIPO="binary-i386 sources"

for i in `echo $COMPONENTS`
do

mkdir -p "$DISTS/$i"
mkdir -p "$POOL/$i"

done










Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts