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

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



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

Abraço,

  Diego



Em 16 de maio de 2016 16:59, Henrique Fagundes <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
done

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

Então, era para o script fazer o seguinte: Adicionar a linha "blacklist_from *teste.com.br" na linha 33 do arquivo /opt/zimbra/conf/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
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

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

Para postar neste grupo, envie um e-mail para 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.
Para obter mais opções, acesse https://groups.google.com/d/optout.


Reply to: