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

Re: [DEBIAN-MS: 7047] Dúvida com Shell Script



Colegas,

Resolvi dessa maneira:

for dominios in `cat /root/dominios.txt | egrep -v "^[#;]" `; do
sed -i '33i\blacklist_from *'$dominios'\' /opt/zimbra/conf/salocal.cf.in
done

Funcionou direitinho agora!

Atenciosamente,

Henrique Fagundes
henrique@linuxadmin.com.br
Skype: magnata-br-rj
Linux User: 475399

http://www.aprendendolinux.com/
http://www.facebook.com/PortalAprendendoLinux
http://youtube.com/aprendendolinux/
http://twitter.com/aprendendolinux/
______________________________________________________________________
Participe do Grupo Aprendendo Linux
https://groups.google.com/forum/#!forum/portal-aprendendo-linux

Ou envie um e-mail para:
portal-aprendendo-linux+subscribe@googlegroups.com

-------- Mensagem original --------
Assunto: Re: [DEBIAN-MS: 7047] Dúvida com Shell Script
De: Patolinux <patolinux@debian-ms.org>
Para: debianms@googlegroups.com
CC: debian-user-portuguese <debian-user-portuguese@lists.debian.org>, Henrique Fagundes <henrique@linuxadmin.com.br>
Data: 16/05/2016 19:02

Oi Henrique,

as aspas simples inibem a substituição de variáveis. Nesse caso, use
aspas duplas.

É provável que daí você tenha que colocar \\ dentro das aspas duplas
para obter \ no final das contas.

Você pode ainda usar spas simples e:
* fechar as aspas simples imediatamente antes do $
* abrir aspas duplas
* fechar as aspas duplas imediatamente depois do nome da variável
* abrir aspas simples
* fechar as aspas simples no final.

Fica meio difícil de visualizar porque aparecem várias aspas juntas, mas
é mais ou menos isso:

sed -i '33i\blacklist_from *'"$dominios"'\'
/opt/zimbra/conf/salocal.cf.in <http://salocal.cf.in>

Abraço,

   Diego



Em 16 de maio de 2016 16:59, Henrique Fagundes
<henrique@linuxadmin.com.br <mailto:henrique@linuxadmin.com.br>> escreveu:

    Amigos,

    Saudações pinguianas.
    Estou com uma dúvida em um Shell.

    Vejam:

    #!/bin/bash

    for dominios in `cat /root/dominios.txt | egrep -v "^[#;]" `; do
    sed -i '33i\blacklist_from *$dominios\'
    /opt/zimbra/conf/salocal.cf.in <http://salocal.cf.in>
    done

    Dentro do arquivo "/root/dominios.txt" tem o seguinte conteúdo:
    teste.com.br <http://teste.com.br>

    Então, era para o script fazer o seguinte: Adicionar a linha
    "blacklist_from *teste.com.br <http://teste.com.br>" na linha 33 do
    arquivo /opt/zimbra/conf/salocal.cf.in <http://salocal.cf.in>.

    Só que isso não está acontecendo! Ao invés disso, ele está
    adicionando a linha "blacklist_from *$dominios".

    Alguém sabe como eu posso fazer para forçar o script a interpretar a
    variável?

    Desde já muito grato.

    Atenciosamente,

    Henrique Fagundes
    henrique@linuxadmin.com.br <mailto:henrique@linuxadmin.com.br>
    Skype: magnata-br-rj
    Linux User: 475399

    http://www.aprendendolinux.com/
    http://www.facebook.com/PortalAprendendoLinux
    http://youtube.com/aprendendolinux/
    http://twitter.com/aprendendolinux/
    ______________________________________________________________________
    Participe do Grupo Aprendendo Linux
    https://groups.google.com/forum/#!forum/portal-aprendendo-linux

    Ou envie um e-mail para:
    portal-aprendendo-linux+subscribe@googlegroups.com
    <mailto:portal-aprendendo-linux%2Bsubscribe@googlegroups.com>

    --
    --
    Você recebeu esta mensagem porque está inscrito no Grupo "Debian MS".

    Para postar neste grupo, envie um e-mail para
    debianms@googlegroups.com <mailto:debianms@googlegroups.com>

    Para ver mais opções, visite este grupo em
    http://groups.google.com/group/debianms?hl=pt-BR
    --- Você está recebendo esta mensagem porque se inscreveu no grupo
    "Debian MS" dos Grupos do Google.
    Para cancelar inscrição nesse grupo e parar de receber e-mails dele,
    envie um e-mail para debianms+unsubscribe@googlegroups.com
    <mailto:debianms%2Bunsubscribe@googlegroups.com>.
    Para obter mais opções, acesse https://groups.google.com/d/optout.




Reply to: