[Unix] Probleme avec
Résolu
Trezeg
Messages postés
81
Statut
Membre
-
Trezeg Messages postés 81 Statut Membre -
Trezeg Messages postés 81 Statut Membre -
Bonjour,
J'ai créé un shell qui doit obligatoirement renvoyer un code de sortie (0 ou 1). Il s'execute parfaitement mais le problème est qu'au moment du exit 0, il l'interprète comme un logout et je suis ejecté du système...
Quelqu'un pourrait-il éclairer ma lanterne ?
Merci
Trez
Configuration: Sun OS 5.9
J'ai créé un shell qui doit obligatoirement renvoyer un code de sortie (0 ou 1). Il s'execute parfaitement mais le problème est qu'au moment du exit 0, il l'interprète comme un logout et je suis ejecté du système...
Quelqu'un pourrait-il éclairer ma lanterne ?
Merci
Trez
Configuration: Sun OS 5.9
2 réponses
-
Salut,
Comment exécutes-tu ton script ?
Emploies-tu la commande "exec" ?
Ou encore "sources-tu" ton script ("source ton_script" ou ". ton_script") ?
-
Hello jipicy,
J'execute mon script de la manière suivante : ". mon_script.sh"
De cette facon, il prend en compte toutes les variables d'environnement que j'ai stocké dans un fichier (appelé lui meme par mon ".profile").
Cdlt,
Trez- Re-
J'execute mon script de la manière suivante : ". mon_script.sh"
Donc tu "source" ton script et c'est pour ça qu'il t'éjecte lors de l'appel de "exit 0".
Je pense que tu devrais dans ce cas là utiliser des fonctions, mais je ne suis pas sûr que ça résolve ton problème...
Je ne suis pas chez moi là, mais dès que je rentre je jetterai un oeil pour voir si il y a moyen de contourner cette déconnexion.
;-)) - Bon effectivement, je pense que tu devrais passer par des fonctions et l'emploi de "return" à la place d'"exit"...
#! /bin/bash ma_fonction () { if ... then ... return 0 else ... return 1 fi } ma_fonction code_retour=$? echo $code_retour ...Et point d'"exit" non plus en fin de script, sous peine de te voir à nouveau éjecter du shell.
;-))
-
-
Hello,
J'ai pu faire le test en mettant directement le return 0 ou 1 à la sortie de mes shells. Et pour le moment ca marche ;)
Merci pour tout
Trez