Shell script [exit/return/source]
asevere
Messages postés
13521
Statut
Webmaster
-
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité -
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité -
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
Habituellement, j'utilise l'ensemble de commandes suivant:
A plus
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 0Ca me satisfait, mais il existes sans doute d'autre méthodes...
A plus
A voir également:
- Shell script [exit/return/source]
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Qui regarde mon profil facebook code source - Guide
3 réponses
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é ;-((