IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Pas de code retour which ?


Sujet :

Linux

  1. #1
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut Pas de code retour which ?
    bonjour,

    voilà j'ai un petit script qui doit tester plusieurs choses.

    en autre je veux tester la présence de sqlplus et sqlldr.
    j'utilise docn which.

    seul hic, que ce que je cherche soit présent ou non, le code retour est toujours égal à 0. Donc mon test n'est jamais concluant (il trouve toujours koi ...)

    suis-je obligé de passé par du traitement de chaine pour voir si il y a "no" au début de la ligne ? ou avez vous une solution simple que je puisse utiliser. Sans le which à la limite, moi je veux juste tester la présence de l'executable.

    merci d'avance

  2. #2
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    Citation Envoyé par in
    j'utilise donc which.

    seul hic, que ce que je cherche soit présent ou non, le code retour est toujours égal à 0. Donc mon test n'est jamais concluant (il trouve toujours koi ...)
    quel est ton OS?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $ cat /proc/version
    Linux version 2.6.13-15.8-default (geeko@buildhost) (gcc version 4.0.2 20050901 (prerelease) (SUSE Linux))
    $ which ls
    /bin/ls
    $ echo $?
    0
    $ which abcdef
    which: no abcdef in (/usr/bin:/usr/X11R6/bin:/bin:/usr/sbin:/opt/gnome/bin:/opt/kde3/bin:.)
    $ echo $?
    1

    avec Solaris / ksh , j'employe whence
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    $ uname -a
    SunOS chtguxfs01 5.9 Generic_112233-04 sun4u sparc SUNW,Sun-Fire-880
    $
    $
    $ which ls
    /bin/ls
    $ echo $?
    0
    $ which abcdef
    no abcdef in /bin
    $ echo $?
    0
    $
    $ whence ls
    /usr/bin/ls
    $ echo $?
    0
    $ whence abcdef
    $ echo $?
    127

  3. #3
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    Un simple test avec if peut détecter la présence d'un fichier dans une arborescence.
    Tu peux aussi utiliser find.

    Pour ce qui est du filtre, il faudrait que tu montre ce que tu as en entrée et ce que tu veux en sortie, parce que là c'est un peu flou.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    etienne@info1:~ $ echo "adadazdazdnoazdadazd" | grep -e ^no
    etienne@info1:~ $ echo "noadadazdazdnoazdadazd" | grep -e ^no
    noadadazdazdnoazdadazd
    -e pour les regexp standards
    ^ signifie début de ligne

  4. #4
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    aussi possible sur SunOS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $ /usr/xpg4/bin/type shutdown
    shutdown is /usr/sbin/shutdown
    $ echo $?
    0
    $ /usr/xpg4/bin/type abcdef
    abcdef not found
    $ echo $?
    127

  5. #5
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    désolé je ne sais poas quelle est la version de l'os

    je me connecte à l'aide de putty ... j'essaierai de demander. En tout cas un which abcde me renvoie 0 et il ne connait pas whence

    Pour ce qui est du filtre, il faudrait que tu montre ce que tu as en entrée et ce que tu veux en sortie, parce que là c'est un peu flou.
    je ne comprends pas trop la question ... je fais un eval "which sqlplus" et en sortie j'ai donc soit /opt/ora92... soit no sqlplus in le path

    donc oui avec le grep c'est ptet pas mal. A moins que je n'instancie une variable avec lke resultat du which et que je regarde sa valeur. mais bon je n'y arrive pas trop -> test=${which sqlplus} -> bad substitution

    je vais regarder du coté de find.

    merci. désolé mais je n'ai pas internet sur mon poste donc je suis un peu lent à la détente.

    à+

    [edit]

    en fait la version de l'os est
    SunOS saturne 5.8 Generic_108528-29 sun4u sparc ...

    du coup avec type ça fonctionne

    seul pb, le script va etre utilisé par plusieurs personnes. Du coup je ne sais pas si cette commande sera accessible par tous. Genre si c'est sur un Linux ... donc s'il y avait une solution plus "portable" je suis preneur

    en tout cas merci beaucoup, j'ai déjà fait des progrès

    [/edit]

  6. #6
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    type existe aussi dans Linux

  7. #7
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Citation Envoyé par laurentschneider
    type existe aussi dans Linux
    bon alors ça me semble parfait.

    merci bien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer le code retour d'un batch
    Par mick84m dans le forum Linux
    Réponses: 4
    Dernier message: 11/05/2005, 18h09
  2. [VB6] Ne pas faire de retour automatique dans un RichTextBox
    Par Arthaniel dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 20/01/2005, 04h00
  3. CODE RETOUR GENERE PAR PL/SQL POUR SHELL UNIX
    Par mimi_été dans le forum PL/SQL
    Réponses: 6
    Dernier message: 18/11/2004, 09h32
  4. code retour UNIX sur erreur ORA
    Par vinz_07 dans le forum Administration
    Réponses: 7
    Dernier message: 25/08/2004, 12h04
  5. [commande DOS] Récupérer le code retour d'un programme
    Par bobunny dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 04/06/2004, 16h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo