Bonjour a tous et a toutes (allez les filles ! :hammer:)
Je suis en train d'essayer de creer un liveCD base sur Fedora 7 avec des applications persos dessus.
J'ai besoin de modifier le PATH par defaut de l'utilisateur du liveCD, pour cela, je dois modifier le fichier /etc/profile.
Lors de la creation du liveCD, je peux ajouter des lignes a la fin de ce fichier (par l'intermediaire d'un script dans le fichier kickstart).
Le fichier /etc/profile contient une fonction pathmunge() permettant d'ajouter des chemins au PATH, malheureusement, elle est "unsettee" a la fin du fichier. J'essaie donc de la faire reecrire par mon script kickstart a l'aide d'une suite de echo.
Voila ce que je souhaite obtenir dans /etc/profile :
- le PATH de root au lieu de la chaine \$PATH
- une chaine vide au lieu de la chaine \$1
- une chaine vide a la place de la chaine \$2
D'ou ma question : comment faire en sorte que tout ca ne soit pas interprete et ecrit texto dans /etc/profile ?
Merci d'avance
PS: j'ai aussi essaye avec des simples quotes et sans \, le resultat est un peu mieux mais ce n'est toujours pas ca... 🙁
PS2: mon premier message sur Fedora-fr ! Bisous a tous
Je suis en train d'essayer de creer un liveCD base sur Fedora 7 avec des applications persos dessus.
J'ai besoin de modifier le PATH par defaut de l'utilisateur du liveCD, pour cela, je dois modifier le fichier /etc/profile.
Lors de la creation du liveCD, je peux ajouter des lignes a la fin de ce fichier (par l'intermediaire d'un script dans le fichier kickstart).
Le fichier /etc/profile contient une fonction pathmunge() permettant d'ajouter des chemins au PATH, malheureusement, elle est "unsettee" a la fin du fichier. J'essaie donc de la faire reecrire par mon script kickstart a l'aide d'une suite de echo.
Voila ce que je souhaite obtenir dans /etc/profile :
pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
fi
}
Dans mon kickstart, j'ai donc ajoute :
echo "pathmunge () {" >> /etc/profile
echo " if ! echo \$PATH | /bin/egrep -q \"(^|:)\$1(\$|:)\" ; then" >> /etc/profile
echo " if [ \"\$2\" = \"after\" ] ; then" >> /etc/profile
echo " PATH=\$PATH:\$1" >> /etc/profile
echo " else" >> /etc/profile
echo " PATH=\$1:\$PATH" >> /etc/profile
echo " fi" >> /etc/profile
echo " fi" >> /etc/profile
echo "}" >> /etc/profile
echo "pathmunge /opt/mspgcc/bin" >> /etc/profile
echo "pathmunge /opt/worldsens/bin" >> /etc/profile
echo "unset pathmunge" >> /etc/profile
Malheureusement, il semblerait que les variables soient interpretees et j'obtiens :- le PATH de root au lieu de la chaine \$PATH
- une chaine vide au lieu de la chaine \$1
- une chaine vide a la place de la chaine \$2
D'ou ma question : comment faire en sorte que tout ca ne soit pas interprete et ecrit texto dans /etc/profile ?
Merci d'avance
PS: j'ai aussi essaye avec des simples quotes et sans \, le resultat est un peu mieux mais ce n'est toujours pas ca... 🙁
PS2: mon premier message sur Fedora-fr ! Bisous a tous