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

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

Re: [shell-script] Re: Erro ao adicionar conteúdo usando echo >>


From: Enio Onodera
Subject: Re: [shell-script] Re: Erro ao adicionar conteúdo usando echo >>
Date: Thu, 19 May 2011 09:03:03 -0700 (PDT)

Agora que vc mandou o script completo, o erro apareceu.Vc está usando espaço no 
echo... utilize cat -A para entender onde está o erro...A recomendação do Mr 
Bits irá melhorar muito seu script, na aparencia principalmente, porém, caso 
ainda queira/necessite usar esse monte de echo, utilize a opção -e para 
acrescentar linhas em branco sem se preocupar com erros manuais.

Atte,Enio Onodera

--- Em qui, 19/5/11, beforekernel <address@hidden> escreveu:

De: beforekernel <address@hidden>
Assunto: [shell-script] Re: Erro ao adicionar conteúdo usando echo >>
Para: address@hidden
Data: Quinta-feira, 19 de Maio de 2011, 8:51















 
 



  


    
      
      
      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-----

>





    
     

    
    


 



  










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



reply via email to

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