Rechercher : dans
Par :

[Unix] Probleme avec

Dernière réponse le 16 fév 2007 à 09:57:13 Trezeg, le 8 fév 2007 à 17:04:14 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « [Unix] Probleme avec » dans :
Le bus USB (Universal Serial Bus) Voir Présentation du bus USB Le bus USB (Universal Serial Bus, en français Bus série universel) est, comme son nom l'indique, basé sur une architecture de type série. Il s'agit toutefois d'une interface entrée-sortie beaucoup plus rapide que les ports...
Introduction aux systèmes UNIX Voir Le système UNIX Le système Unix est un système d'exploitation multi-utilisateurs, multi-tâches, ce qui signifie qu'il permet à un ordinateur mono ou multi-processeurs de faire exécuter simultanément plusieurs programmes par un ou plusieurs...
UNIX - Les fichiers Voir Introduction aux fichiers Unix Sous les systèmes UNIX tout élément est représenté sous forme de fichier. L'ensemble des fichiers est architecturé autour d'une unique arborescence dont la base, appelée racine, est notée «/». Types de...
Code pour télécommande universelle VoirTélécommande universelle Philips Télécommande universelle Thomson ROC Télécommande universelle One for all Télécommande universelle Star Choice Télécommande universelle Marmitek Télécommande universelle Lifetec LT Télécommande universelle...
Unidialog - Accès impossible VoirLe Service Unidialog des Assedic permet à tout moment, partout en France, d'effectuer le traitement immédiat de votre dossier : déclaration de situation mensuelle consultation de votre dossier obtention d'une attestation changement de...
Sed - Conversion retours chariots DOS (CRLF) / UNIX (LF) VoirConversion format de fichier DOS UNIX / UNIX DOS Préambule Ce qu'il faut savoir Conversion DOS vers UNIX Conversion UNIX vers DOS Préambule Il existe déjà des utilitaires (dos2unix et unix2dos) qui s'acquittent très bien ce...
Télécharger Revo Uninstaller VoirRevo Uninstaller est un logiciel édité par VS Revo Group permettant de faire un nettoyage en profondeur avec diverses fonctionnalités : Nettoyage, désinstallation de programmes avec suppression des clefs de registres périmées. Un mode Chasseur...
Commandes UNIX VoirTableau des principales commandes UNIX Commande Unix Description Options ls liste le contenu d'un répertoire -a Affiche tous les fichiers, y compris les fichiers cachés ...
Les unités dans les feuilles de style (CSS) VoirLes unités Grâce aux feuilles de style il est possible de définir des valeurs numériques pour les propriétés de style de plusieurs façons : de façon absolue, c'est-à-dire dans une unité indépendante du format de sortie (en centimètres par...

1

jipicy, le 8 fév 2007 à 19:20:53
  • +1

Salut,

Comment exécutes-tu ton script ?
Emploies-tu la commande "exec" ?
Ou encore "sources-tu" ton script ("source ton_script" ou ". ton_script") ?
Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

2

Trezeg, le 9 fév 2007 à 09:26:38

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

Répondre à Trezeg

3

jipicy, le 9 fév 2007 à 13:58:16

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.

;-)) Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

4

jipicy, le 9 fév 2007 à 17:16:55

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.

;-))
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

5

Trezeg, le 12 fév 2007 à 10:56:09

Bonjour jipicy,

Et n'est-il pas possible de mettre un return 0 ou 1 directement à la fin de mes shells ? Je demande cela car j'ai remarqué que meme sans exit, je parvenais à sortir du shell une fois que celui-ci se terminait. Par contre je ne pouvais pas gerer de code de sortie.

Cdlt,

Trez

Répondre à Trezeg

6

 Trezeg, le 16 fév 2007 à 09:57:13

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

Répondre à Trezeg