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

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

Re: Erro ao adicionar conteúdo usando echo >>


From: beforekernel
Subject: Re: Erro ao adicionar conteúdo usando echo >>
Date: Thu, 19 May 2011 11:51:45 -0000
User-agent: eGroups-EW/0.82

Corrigindo...

#!/bin/bash
#VARIAVEIS TESTE
DIR_ACL=/tmp
NOME=projeto

G1='GCS'
G2='LIDER DE PROJETOS'
G3='GERENTE DE PROJETOS'
G4='DIRETOR DE OPERACOES'
G5='AUDITORIA DE QUALIDADE-GAQ'
G6='ARQUITETO'
G7='ANALISTA DE SISTEMAS'
G8='PROGRAMADOR'
G9='INTEGRADOR'
G10='ARQUITETO'
G11='ANALISTA DE USABILIDADE'
G12='ANALISTA DE TESTES'
G11='TESTADOR'

echo "[groups]" > $DIR_ACL/$NOME.acl
echo "$G1 = rw"  >> $DIR_ACL/$NOME.acl
echo "$G2 = r" >> $DIR_ACL/$NOME.acl
echo "$G3 = r" >> $DIR_ACL/$NOME.acl
echo "$G4 = r" >> $DIR_ACL/$NOME.acl
echo "$G5 = r" >> $DIR_ACL/$NOME.acl
echo "$G6 = r" >> $DIR_ACL/$NOME.acl
echo "$G7 = r" >> $DIR_ACL/$NOME.acl
echo "$G8 = r" >> $DIR_ACL/$NOME.acl
echo "$G9 = r" >> $DIR_ACL/$NOME.acl
echo "$G10 = r" >> $DIR_ACL/$NOME.acl
echo "$G11 = r" >> $DIR_ACL/$NOME.acl
echo "      " >> $DIR_ACL/$NOME.acl
echo "[/]" >> $DIR_ACL/$NOME.acl
echo "@$G1 = rw">> $DIR_ACL/$NOME.acl
echo "@$G2 = r" >> $DIR_ACL/$NOME.acl
echo "@$G3 = r" >> $DIR_ACL/$NOME.acl
echo "@$G4 = r" >> $DIR_ACL/$NOME.acl
echo "@$G5 = r" >> $DIR_ACL/$NOME.acl
echo "@$G6 = r" >> $DIR_ACL/$NOME.acl
echo "@$G7 = r" >> $DIR_ACL/$NOME.acl
echo "@$G8 = r" >> $DIR_ACL/$NOME.acl
echo "@$G9 = r" >> $DIR_ACL/$NOME.acl
echo "@$G10 = r" >> $DIR_ACL/$NOME.acl
echo "@$G11 = r" >> $DIR_ACL/$NOME.acl



--- Em address@hidden, MrBiTs <mrbits.dcf@...> escreveu
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
> 
> On 05/18/2011 15:19 , beforekernel wrote:
> > Prezados,
> > Estava desenvolvendo um script para automatizar a rotina de criação e 
> > adminstração de versões do subversion e TRAC,
> > como já esta definida a politica de acesso de cada cargo então criei o 
> > arquivo de acl baseada por perfis de acesso aonde o
> > script mesmo que gera este arquivo com um simples (echo "conteudo" > 
> > /var/repositorio/config/acls/projeto1.acl), porem quando
> > tento manipular o arquivo texto gerado para filtrar, cortar, substituir ou 
> > qualquer outra manipulação, não é efetivo, por exemplo:
> > 
> > crio um script:
> > 
> > #!/bin/bash
> > #VARIAVEIS TESTE
> > DIR_ACL=/tmp
> > NOME=projeto
> > 
> > G1='GCS'
> > G2='LIDER DE PROJETOS'
> > G3='GERENTE DE PROJETOS'
> > G4='DIRETOR DE OPERACOES'
> > G5='AUDITORIA DE QUALIDADE-GAQ'
> > G6='ARQUITETO'
> > G7='ANALISTA DE SISTEMAS'
> > G8='PROGRAMADOR'
> > G9='INTEGRADOR'
> > G10='ARQUITETO'
> > G11='ANALISTA DE USABILIDADE'
> > G12='ANALISTA DE TESTES'
> > G11='TESTADOR'
> > 
> > echo "[groups]" > $DIR_ACL/$NOME.acl
> > echo "$G1 = rw"  >> $DIR_ACL/$NOME.acl
> > echo "$G2 = r" >> $DIR_ACL/$NOME.acl
> > echo "$G3 = r" >> $DIR_ACL/$NOME.acl
> > echo "$G4 = r" >> $DIR_ACL/$NOME.acl
> > echo "$G5 = r" >> $DIR_ACL/$NOME.acl
> > echo "$G6 = r" >> $DIR_ACL/$NOME.acl
> > echo "$G7 = r" >> $DIR_ACL/$NOME.acl
> > echo "$G8 = r" >> $DIR_ACL/$NOME.acl
> > echo "$G9 = r" >> $DIR_ACL/$NOME.acl
> > echo "$G10 = r" >> $DIR_ACL/$NOME.acl
> > echo "$G11 = r" >> $DIR_ACL/$NOME.acl
> > echo "$G12 = r" >> $DIR_ACL/$NOME.acl
> > echo "$G13 = r" >> $DIR_ACL/$NOME.acl
> > echo "      " >> $DIR_ACL/$NOME.acl
> > [/]
> > echo "@GCS = rw"
> > echo "@LIDER DE PROJETOS = r"
> > echo "@GERENTE DE PROJETOS = r"
> > echo "@DIRETOR DE OPERACOES = r"
> > echo "@AUDITORIA DE QUALIDADE-GAQ = r"
> > echo "@ARQUITETO = r"
> > echo "@ANALISTA DE SISTEMAS = r"
> > echo "@PROGRAMADOR = r"
> > echo "@INTEGRADOR = r"
> > echo "@ARQUITETO = r"
> > echo "@ANALISTA DE USABILIDADE = r"
> > echo "@ANALISTA DE TESTES = r"
> > echo "@TESTADOR = r"
> > 
> > executo este script
> > ele gera o arquivo perfeito, quanto executo por exemplo um sed para pegar o 
> > conteudo do arquivo até a primeira linha em branco:
> > 
> > $ sed '/^$/q' /tmp/projeto.acl
> > 
> > ele me traz o conteudo todo do arquivo.
> > 
> > se simplesmente copio o conteudo e colo em outro arquivo funciona, a unica 
> > solução que achei para adequar no script foi utilizar variaveis com o 
> > conteudo, assim:
> > 
> > LINHAACL1="[groups]"
> > echo $LINHAACL1 > $DIR_ACL/$NOME.acl
> > 
> > desta forma ele funciona perfeito, alguem sabe me dizer porque ?
> > 
> > 
> 
> Eu não estou vendo nos seus echos um que gere uma linha vazia (^$). O que 
> você faz é mandar vários espaços para a última linha dele,
> e isso não casa com ^$.
> 
> Já pensou em usar uma construção mais agradável aos olhos e muito mais rápida 
> nas questões de I/O, assim:
> 
> cat <<__EOF__>>$DIR_ACL/$NOME.acl
> [groups]
> $G1 = rw
> $G2 = r
> $G3 = r
> $G4 = r
> $G5 = r
> $G6 = r
> $G7 = r
> $G8 = r
> $G9 = r
> $G10 = r
> $G11 = r
> $G12 = r
> $G13 = r
> 
> __EOF__
> 
> Ao invés de você abrir e fechar o arquivo de ACLs a cada echo, abra-o uma vez 
> e grave tudo nele
> 
> 
> - -- 
> 
> LLAP
> 
> .0. MrBiTs - mrbits.dcf@...
> ..0 GnuPG  - 
> http://keyserver.fug.com.br:11371/pks/lookup?op=get&search=0x6EC818FC2B3CA5AB
> 000 http://www.mrbits.com.br
> 
> 
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (Darwin)
> 
> iQEcBAEBCAAGBQJN1CvsAAoJEG7IGPwrPKWr5TMH/jT+ZQLcyCEwEcA7YaJFFUd8
> qDVi96mdcir2Dyb+NECTDUA6DUOA4FVM0IeBJidC5EzDB7JE82Tu8O/KDWXOeYMI
> jmBt65jn5PdV1Q1T87njORw5ukNKR1/5wzzmWvZz/nxGJQjqzYeTDbqV1zSminXb
> LAzWB+hNBIiENPdEX8InNf02uWJd/+LXIEjSnkHA/DKaYR9FjR+W4H+iIF/EsnRZ
> 2+NNuMdxffl+HvcIZQmwcVPoMb9Tifymkqv637TwpCYxxWoSoHeLsDftOR3Dn76J
> zop3uct/rXJhRgG+qLIZ+mSFmnSZ69CKB722/9BidqYpVPzQhwZHWbtWXbOlJmg=
> =1xyP
> -----END PGP SIGNATURE-----
>




reply via email to

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