Votre navigateur est obsolète. Téléchargez un navigateur moderne, par exemple FireFox.
Léa-Linux : Forum
Le forum de Léa abrite des discussions autour des Logiciels libres.
Syndication
  • RSS ForumForum complet
  • RSS Forum - AdministrationForum - Administration
  • RSS Forum - Administration - 334298Cette discussion

Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Important : quand vous posez une question, n'oubliez pas de nous donner les indications suffisantes pour que nous puissions répondre. En effet, la divination n'est pas le fort du Linuxien averti. Pour une meilleure compréhension, le bon usage de la grammaire et de l'orthographe est fortement encouragé. En particulier, le langage SMS est à éviter absolument. En cas d'abus, il pourra être censuré sans autre forme de procès.
Les messages dont le contenu est illégal (incitant à la haine - raciale ou autre, diffamant), ou dont le contenu est sans rapport avec le sujet du forum, ou qui sont parfaitement stupides ou hors sujet seront supprimés sans pitié. Il pourra même être fait appel au fournisseur d'accès du coupable pour faire cesser ses agissements.
» Index du forum » Administration » shell script : "exit n" m'éjecte
Aller à la discussion: PrécédentSuivante
Action: Nouveau sujetChercherS'authentifier
shell script : "exit n" m'éjecte
Auteur: NBaH (IP enregistrée)
Date: le 5 février 2008 à 02:25

Amis du shell bonjour

question de débutant...

Lorsque j'insère :
exit n
dans mes scripts pour définir une valeur au code de retour (c'est bien de cela qu'il s'agit?), je me fait éjecter de la console comme si j'avais tapé :
exit


C'est pas que ça me serve plus que ça, mais dans les scripts que je glane de ci de là, à fin sinon thérapeutique au moins pédagogique, ça y est inclus, et je me fait tèj!

Alors je vous le demande :
"Pourquoi moi? Qu'est-ce que j'ai fait de mal?"

configuration : Debian etch

Re: shell script : "exit n" m'éjecte
Avatar
Auteur: nicola (IP enregistrée)
Date: le 5 février 2008 à 20:30

C'est peut-être return n ?

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Re: shell script : "exit n" m'éjecte
Auteur: NBaH (IP enregistrée)
Date: le 6 février 2008 à 00:04

Ce qui me turlupine, c'est que les scripts sont censés s'éxécuter dans un shell enfant (une sorte de dimension parallèle...), et que donc le 'exit [n]' devrait s'appliquer à ce "sub"shell, pas au shell d'origine...?

De la même manière, un script comportant la commande 'cd /foo/bar' quand il se termine, m'abandonne dans /foo/bar...? Y a un loup!^^

Pourtant :

http://ftp.traduc.org/doc-vf/gazette-linux/html/2005/111/lg111-D.html a écrit :

À propos, il y a un aspect subtil certes, mais important ici : quand un script s'exécute, il démarre en fait un processus bash additionnel qui s'exécute en arrière-plan de l'actuel. Ce processus exécute le script et se termine, vous renvoyant au shell d'origine qui l'a engendré. C'est pourquoi un script qui, par exemple, change de répertoire lorsqu'il s'exécute ne vous laissera pas dans le nouveau répertoire quand il se termine : le shell d'origine n'a pas été informé qu'il devait changer de répertoire et vous êtes exactement que lorsque vous avez démarré - même si le changement est effectif pendant l'exécution du script.


?

Re: shell script : "exit n" m'éjecte
Avatar
Auteur: AlSim (IP enregistrée)
Date: le 6 février 2008 à 12:45

Qu'y a-t-il sur la première ligne de ton script ?

[catwell.info]

Re: shell script : "exit n" m'éjecte
Auteur: NBaH (IP enregistrée)
Date: le 7 février 2008 à 01:06

Bonsoir Alsim

Au début du script :
#!/bin/bash

pour info :
~$ echo $SHELL
   /bin/bash


Mais ça ne semble pas avoir de lien : j'ai fait un essai avec
#!/bin/sh
et j'ai encore été inopinément déconnecté de la console.

?

NBaH a écrit :

les scripts sont censés s'éxécuter dans un shell enfant (une sorte de dimension parallèle...), et que donc le 'exit [n]' devrait s'appliquer à ce "sub"shell, pas au shell d'origine...?

...en même temps lorsqu'on passe une commande 'echo "z"', elle affiche bien 'z' dans le shell père, pas dans le sub-shell.

?

Re: shell script : "exit n" m'éjecte
Auteur: NBaH (IP enregistrée)
Date: le 10 février 2008 à 08:06

mpfff

oui 'return' fait bien ce que j'attendais de 'exit [n]', à savoir terminer le script sans me délogguer.
Mais je reste perplexe : si on est déloggué par 'exit [n]', comment récupérer sa valeur? Quand je me reloggue 'echo $#' = 0, quel que soit n...



Nom du forum : (antispam) - (en développement:saisir un texte pour le message, rempli cette zone automatiquement)
Votre nom: 
Votre email: 
Sujet: 

 
Ce forum est boosté par Phorum.