Em 13/10/06, Faria<[EMAIL PROTECTED]> escreveu:
> Na verdade preciso alterar uma linha no potgresql.conf onde fica um IP.
> Queria pegar a variavel informada pelo dialog, e usar o sed para substituir
> o IP do do arquivo
> sed -e ´s/$variavel/$aux' filename
> Mas pelo que percebi o sed não interpreta variaveis. Ai fiquei perdido, sem
> saber o que fazer
Olá,
Agora sim entendi o que quer fazer. Não sei o que quiz dizer com "o
sed não interpreta variável", mas um chute que dou é deve que está
colocando a variável entre aspas simples e quem não interpreta como
variável o que está entre aspas simples é o próprio "bash" e não o
"sed". Dessa for o "bash" passa para o "sed" do jeito que foi escrito
e não trocando a variável pelo seu valor, portanto use aspas duplas ao
invés das simples.
Seria algo assim o que quer:
#!/bin/bash
IP="`dialog --inputbox "IP: " 10 20 "192.168.0.1" 2>&1`"
if [ -n "$IP" ]; then
IP="listen_addresses = '$IP'"
sed "s/.*listen_addresses.*=.*/$IP/" < filename > filename
fi
--
Atenciosamente
Claudio Polegato Junior
Engenheiro Autônomo - Ribeirão Preto e Região
Mestre em Física Aplicada à Medicina e Biologia - USP
Engenheiro Computacional - USP
Engenheiro Eletrônico - USP
Um peregrino de problemas; Um pergaminho de soluções!
---------------------------------------------------------------------------
Esta lista é patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br
Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utilização da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html