Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1588 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [SHELL UNIX] Fermer le terminal a la fin d un script shell

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SHELL UNIX] Fermer le terminal a la fin d un script shell

n°2143244
twn-zicoo
Posté le 21-05-2012 à 20:03:40  profilanswer
 


Bonjour,
 
Voila j ai un petit script a exécuter, tout ce passe bien de ce cote la.
 
Mais a la fin de ce script j aimerais pouvoir fermer mon terminal (xterm).
 
J ai chercher, je n ai pas trouve grand chose et a la fin de mon script je fais un exit, mais rien ne se passe.
 
Merci d avance.

mood
Publicité
Posté le 21-05-2012 à 20:03:40  profilanswer
 

n°2143254
Profil sup​primé
Posté le 22-05-2012 à 02:45:05  answer
 

salut,
 
mais pourquoi ouvrir un terminal, dans gnome on peut lancer une application, ou un script via Alt-F2.  
d'autres WM disposent de cette fonction, peut-être pas appelée par la même combinaison de touches.

n°2143280
billgatesa​nonym
Posté le 22-05-2012 à 10:43:02  profilanswer
 

Il faudrait envoyer un control D, ce qui doit correspondre à un certain signal dont je ne me souviens plus du nom.

n°2143333
Nukolau
Posté le 22-05-2012 à 17:16:20  profilanswer
 

Je ne suis pas sur que ce soit terrible de faire ça directement dans ton script (tu kill ta session avant de fermer proprement ton script ? bof bof :( ). A mon sens le plus propre reste de mettre un exit à la suite de l'appel de ton script. Exemple :

 
Code :
  1. script.sh ; exit 0
 

ou alors, si tu veux conditionner sur le retour de ton script, pour que ton shell reste ouvert en cas de problème lors de l'exécution :

 
Code :
  1. script.sh && exit 0
 


Message édité par Nukolau le 22-05-2012 à 17:17:03
n°2143337
Sve@r
Posté le 22-05-2012 à 18:25:07  profilanswer
 

twn-zicoo a écrit :


Bonjour,
 
Voila j ai un petit script a exécuter, tout ce passe bien de ce cote la.
 
Mais a la fin de ce script j aimerais pouvoir fermer mon terminal (xterm).
 
J ai chercher, je n ai pas trouve grand chose et a la fin de mon script je fais un exit, mais rien ne se passe.
 
Merci d avance.


 
Salut
Etant donné que ton script s'exécute dans un shell fils de ton terminal, ton exit ne ferme que le fils. D'ailleurs l'exit est implicite dans un shell c.a.d. qu'il y était déjà avant que tu ne l'y mettes.
 
La solution de nukolau est la meilleure, à savoir lancer ton script et rajouter ensuite l'exit. Cette solution respecte la philosophie Unix => les scripts se déroulent à part et restent indépendants de l'environnement (après tout, un script peut très bien être lancé depuis autre chose qu'un xterm)
 
Si vraiment tu veux passer outre, tu peux alors sourcer ton script au lieu de l'exécuter => source script => il s'exécutera alors dans le processus courant et non le fils => quand ton script appellera l'exit, celui-ci fermera alors le xterm
Ou alors tu peux aussi récupérer dans ton script le pid père de celui-ci et lui envoyer un kill -15


Message édité par Sve@r le 22-05-2012 à 18:27:10
n°2143643
twn-zicoo
Posté le 25-05-2012 à 11:29:40  profilanswer
 

Merci pour ces réponses.
 
Je pense que je vais retenir ta solution Sve@r.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [SHELL UNIX] Fermer le terminal a la fin d un script shell

 

Sujets relatifs
Script Javascript - Fond d'une partie du site[GlovePIE] Programation script wiimote
Script d'ouverture de fenetresComment un script php peut envoyer des données à un client
fermer fenetre phpVBS, script de copie reseau
script pour s'authentifier sur un site et executer une actionScript de connexion DOS
Script VBS 
Plus de sujets relatifs à : [SHELL UNIX] Fermer le terminal a la fin d un script shell


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR