Commande ed interprétation des variables

Bonjour,

Je n'arrive pas à faire interpréter des variables à la commande ed sous AIX.

voici ce que j'ai écris :

echo "merci de renseigner le contenu de votre variable"
read var1
var2='cat /home/XXXXX/fichier | grep -i var| head -1 | cut -d '=' -f 2'

if [ "$var2" != "$var1" ]; then
echo "les variables sont differentes"
echo '1,$s/var=$var2/var=$var1/g\nw\nq' | ed -s fichier && echo "la variable a ete corrige" || echo "la variable n'a pas ete corrige"
else
echo "la variable est correcte"
fi

Je voudrais que le contenu de var1 remplace le contenu de var2 si ils sont différents.

Merci d'avance pour votre aide.

Cordialement

1 réponse

  1. Contributeur
    hello
    utiliser des " pas des ' (entre ' le shell ne résout pas les variables)
    echo "1,$s/var=$var2/var=$var1/g\nw\nq" | 
    1. Bonjour,

      Merci pour ta response.

      J'avais essayé mais ca ne passe pas.

      #################### Verification de la variable #############
      les variables sont diferentes
      ?
      la variable n'a pas ete corrige

      Cordialement
    2. Contributeur
      les variables contiennent des / ?
      essayer echo "1,\$s..."
      et/ou echo -e ...(dépend du shell)