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