par tomtom » 13 Mars 2004 22:02
evidemment !
<BR>
<BR>Penses en processus :
<BR>
<BR>Tu as un process (ton bash) avec un certain nimbre de variables.
<BR>
<BR>De ce process, tu lances un process fils (ton script), qui recupere les variables de son pere..
<BR>Tu exportes un certain nombres de variables, mais il faut bien comprendre que la portée de celles-ci est limitée à l'espace d'execution de ton processus fils.
<BR>
<BR>Lorsque celui-ci se termine, les variables sont perdues !
<BR>
<BR>Pour modifier les variables de ton shell, tu dois ecrire non pa sun script mais une fonction :
<BR>
<BR># function change_shell ()
<BR>{
<BR>############################
<BR>#!/bin/sh
<BR>SSH=4
<BR>TERMOLD=`echo $TERM`
<BR>
<BR>echo TERMOLD = $TERMOLD
<BR>
<BR>if [ $SSH == 4 ]
<BR>then
<BR>TERM=vt100
<BR>else
<BR>echo "pas de ssh"
<BR>fi
<BR>
<BR>export TERM=`echo $TERM`
<BR>echo TERMNEW = $TERMNEW
<BR>#############################
<BR>
<BR>son resultat
<BR>##################
<BR>TERMOLD = linux
<BR>TERMNEW = vt100
<BR>##################
<BR>}
<BR>
<BR>Et la ca modifiera tes variables du bash en cours..
<BR>
<BR>
<BR>Les fonctions n'apparaissent pas comme un fichier, il te faut les redefinir au demarrage de ton shell (dans le .bashrc par exemple donc.. )
<BR>
<BR>t.
One hundred thousand lemmings can't be wrong...