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

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

Re: [shell-script] Problemas imprimindo variaveis


From: Alfredo Casanova
Subject: Re: [shell-script] Problemas imprimindo variaveis
Date: Wed, 19 Apr 2006 16:23:59 -0300

Tiago, realmente os problemas eram as aspas :)

quanto à solução do flávio, não iria funcionar, haja visto que sem o $ no
começo, o sed ia adicionar :$r em todas as linhas do arquivo


On 4/19/06, Tiago Barcellos Peczenyj <address@hidden> wrote:
>
> O problema está nas aspas simples:
>
> $ r=apuracoes_especiais_orgao
>
> $ sed '$ s/$/:$r/' passwd
> ciclano:AhdAegerhA#*(hageu:$r
>
> $ sed "$ s/$/:$r/" passwd # entre aspas duplas
> ciclano:AhdAegerhA#*(hageu:apuracoes_especiais_orgao
>
> $ sed '$ s/$/:'$r'/' passwd # usando aspas simples, basta 'separar' a
> variavel
> ciclano:AhdAegerhA#*(hageu:apuracoes_especiais_orgao
>
> $ awk -v r=$r '{print $0":"r}' passwd # ou usando awk
> ciclano:AhdAegerhA#*(hageu:apuracoes_especiais_orgao
>
> On 4/19/06, Alfredo Casanova <address@hidden> wrote:
> > Olá
> > estou fazendo um script pra adicionar usuários em um repositório CVS...
> > então, ao inves de criar usuarios no linux, eu crio via htpasswd, e dou
> > permissões pra eles adicionando :nomedeusuario no final da linha, que
> faz
> > ele herdar permissoes do linux, certo?
> >
> > entao, eu criei um usuário LINUX pra cada repositório, e pra cada
> usuário
> > htpasswd que eu crio nesse repositório, eu tenho q adicionar o :talnome
> no
> > final da linha
> > exemplo
> >
> > tem um repositorio chamado teste
> > então, criei no linux um usuario chamado teste e setei as devidas
> permissoes
> > aí, pra adicionar um ciclano com permissao de +rw no repositorio teste,
> eu
> > fazia:
> > htpasswd ciclano
> > dpois ia no arquivo, e tava assim:
> >
> > ciclano:AhdAegerhA#*(hageu
> >
> > entao, eu adicionava :teste
> > ficando:
> >
> > ciclano:AhdAegerhA#*(hageu:teste
> >
> > assim ele herda as permissoes do usuario teste.
> >
> > entao, ocorreu que surgiu um repositorio com nome muito grande, e eu
> criei o
> > nome de usuario menor q o nome do repositorio, o que me fez abrir um IF
> no
> > meu script:
> >
> > #!/bin/bash
> >
> > if [ $# -eq 0 ]
> > then
> >      echo "uso: $0 <nome.usuario>"
> >      exit 1
> > fi
> >      clear
> >      echo Adicionando usuário ao banco CVS em `uname -n`
> >      echo `date`
> >      echo Em qual repositório quer adicionar usuário?
> >      ls -lah /usr/cvs | cut -c63- | sed '1,3d' | sed
> > '$a\-----------------------' | sed '$i\-----------------------'
> >      read -p "repositorio (case sensitive): " r
> >      cd /usr/cvs/$r/CVSROOT
> >      echo Efetuando copia de seguranca do arquivo de senhas
> >      cp passwd passwd.old
> >      echo Adicionando usuario $1
> >      htpasswd passwd $1
> >      if [ $r != apuracoes_especiais_orgao ]
> >      then
> >                sed '$ s/$/:$r/' passwd >tmp
> >      else
> >                sed '$ s/$/:apuracoes/' passwd >tmp
> >      fi
> >      sort -o tmp tmp
> >      mv tmp passwd
> >      echo Usuario $1 Criado!
> >
> >
> >
> >
> > então, quando ele cai no "else", ele cria corretamente, com o :apuracoes
> > mas agora, quando cai no if, ao inves de interpretar o $r como o valor
> da
> > variavel, ele interpreta o $r como texto, e faz:
> > ciclano:aGUEH789AE&*9890:$r
> >
> > o que pode ser?
> --
> Tiago B Peczenyj
> Linux User #405772
>
> # cd /pub
> # more beer
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>


--
[]'s
Alfredo Casanova
icq: 15793271
msn: address@hidden
aim: alfredotcasanova
yim: atcasanova2
tel: +55 61 84137319


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



reply via email to

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