[shell/linux]changement de terminal

Forum d'assistance et d'échange sur l'installation, la configuration, et l'utilisation des système Linux et BSD. Vous pouvez y poster vos questions concernant ces systèmes d'exploitation en faisant l'effort préalable de rechercher dans le forum, dans les manuels et les documentations que la réponse n'y figure pas.

Modérateur: modos Ixus

Messagepar hash » 13 Mars 2004 16:32

bonjour a tous ! <BR> <BR>voila , j ai un problemme avec un script shell qui permet de changer le terminal(TERM) d'une console (dans mon cas : <BR>de changer le terminal 'linux' par 'vt100') <BR> <BR>voici le script <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>le PB C que pour verifier le changement de terminal je tappe "echo $TERM" <BR>et a ma grands surprise <IMG SRC="images/smiles/eusa_doh.gif"> le terminal est toujours "linux" <BR> <BR>quelqu'un aurai une idee de ce problemme ?? <BR><BR><BR><font size=-2></font>
Avatar de l’utilisateur
hash
Matelot
Matelot
 
Messages: 1
Inscrit le: 13 Mars 2004 01:00

Messagepar 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...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar tomtom » 16 Mars 2004 17:47

Alors? <BR> <BR>Des news ? <BR> <BR>t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris


Retour vers Linux et BSD (forum généraliste)

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité