SED et les variables...

Résolu
neuneu -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    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
  2. neuneu
     
    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
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      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