SED et les variables...

Résolu/Fermé
neuneu - 1 oct. 2013 à 16:20
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 1 oct. 2013 à 16:51
Bonjour à tous,

J'ai un SED qui est :

/bin/sed -i 22i'$ModLoad imtcp.so\n$InputTCPServerRun '${PORT}'\n*.* @@'${IP}':'${PORT}' /etc/rsyslog.conf;


Sachant que PORT et IP sont en variables plus haut dans le code.

J'ai essayé en mixant les cotes mais rien y fait, j'ai toujours ${IP}${PORT} d'inscrit tels quels dans mon fichier rsyslog.
J'aurai aimé que la ligne m'inscrive les vraies valeurs !

Merci pour votre aide

2 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
Modifié par zipe31 le 1/10/2013 à 16:28
Salut,

Essaye comme ça...

 /bin/sed -i '22i$ModLoad imtcp.so\n$InputTCPServerRun '"${PORT}"'\n*.* @@'"${IP}"':'"${PORT}"'' 


Nous sommes bien d'accord que
$ModLoad
et
$InputTCPServerRun
ne sont pas des variables, hein ?

Zen my nuggets ;-)
Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot.
0
Super Merci Zipe, j'avais oublié la cote finale.

PS : non ce ne sont pas des var

Juste sur le sed -i 22i'blablabla'
J'insère en 22eme ligne. Donc j'ai mis 22i en mettant la cote apres et ca fonctionne !

Merci encore
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
1 oct. 2013 à 16:51
De rien, mais à défaut de
côte de boeuf
, il est préférable d'user de la
quote
qui a davantage la
cote
en programmation ;-))
0