Bonjour.

Au lieu d'utiliser des apostrophes('), on peux utiliser des guillemets (").
Par exemple :
sed -i "1iLogFile         /srv/logs/$domain" $line
Juxtaposer les apostrophes/guillemets marche aussi :
sed -i '1iLogFile         /srv/logs/'"$domain" $line

Tout ce qui est mis entre apostrophe est toujours pris littéralement, et il
n'est pas possible d'échapper quoi que ce soit.
La preuve en est que : echo '\'
affiche bien un antislash.


Maxime.

Tahar BEN ACHOUR a écrit :
Bonjour à tous,
Une petite question en bash,

Je voudrais savoir comment faire pour échapper les ' ' afin que ma variable soit prise en compte,

voici mon script, en fait c'est par rapport à la commande sed
while read line
do

domain=`echo $line | awk -F/ '{print($3".log")}'`
echo $domain

sed -i '/apache2/d' $line
sed -i  '1iLogFile         /srv/logs/$domain' $line


done<myfile


ici je n'ai pas su comment echapper la quote pour que $domain soit prise en compte dans sed -i 1iLogFile /srv/logs/$domain' $line


Merci pour votre aide


Répondre à