Rechercher : dans
Par :

Shell script [exit/return/source]

Dernière réponse le 3 sep 2008 à 10:47:55 asevere, le 2 sep 2008 à 14:31:48 
 Signaler ce message aux modérateurs

Bonjour à tous

Voilà, une petite question que je me pose, j'ai déjà une réponse qui me satisafait, mais je suis curieux de savoir ce que vous utilisez dnas ce genre de cas.

Le problème est simple, vous ecrivez un script, qui retourne un statut différent selon les cas, voir qui se coupe dans certain cas, enfin un truc tout bête. Le plus basique étant le suivant

#!/bin/sh
exit 0;
Ce script, vous ne controller pas la façon dont il sera lancé, l'utilisateur peut faire
source script.sh
sh script.sh
./script.sh
etc.
Comment géré vous le code retour sachant que return ne peut être utilisé que dans un script appelé par la commande source, ou par une fonction, et que exit dans un script appelé avec source quitte le shell courant.

Habituellement, j'utilise l'ensemble de commandes suivant:
return 0 2>/dev/null || exit 0
Ca me satisfait, mais il existes sans doute d'autre méthodes...

A plus

Une belette, un lapin !?
C'est pas normal!
Configuration: Mac OS X
Firefox 3.0.1

Meilleures réponses pour « Shell script [exit/return/source] » dans :
[Shell] Tester une variable numérique VoirTester une variable numérique    Préambule Dans un environnement "shell", les variables sont, par défaut, de type "chaîne de caractères". De ce fait il n'est pas possible de déclarer une variable de type "entier" (enfin, ceci n'est pas tout à...
Coloration du shell (bash) VoirPourquoi le faire? Quelles informations peuvent être transmises par les couleurs? Les techniques Technique de tput Pourquoi le faire? En personnalisant la couleur des caractères de l'invite (ou du shell), vous la rendez plus lisible. Si...
Systèmes UNIX - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire entre le système...

1

asevere, le 3 sep 2008 à 09:41:27

Alors personne n'as ce genre de problèmatique ? :'(
Une belette, un lapin !?
C'est pas normal!

Répondre à asevere

2

jipicy, le 3 sep 2008 à 09:56:43

Ben il me semble que tu as fait le tour du problème entre les fonctions, le source et l'appel à "exec" (bon celui-là tu ne l'avais pas mentionné, mais comme le résultat est le même qu'avec "source"...), et ta soluce, perso je ne vois pas trop que faire d'autre... désolé ;-((
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

3

 lami20j, le 3 sep 2008 à 10:47:55

Salut,

le code de retour n'est pas capturer par le processus père?! En ce cas le shell
à part le cas où le processus père (le shell) et aussi fermé normalement le code de retour est capturer par shell dans $?

je me trompe ou je n'ai pas compris ta question?!
106485010510997108

Répondre à lami20j