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 :

Test if défectueux


Sujet :

Linux

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Points : 76
    Points
    76
    Par défaut Test if défectueux
    Bonjour!

    Je ne connais pas trés bien les scripts shell alors j'ai besoin de vous pour m'aider.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     if[$1 != NULL]  then
                  LOCALCLASSPATH=$1
          else
                  CMDLINE=`FIND $HOME -name xrootd.jar`
                  if[$? != NULL ]  then
                         LOCALCLASSPATH=$?
                 else
                         echo Xrootd.jar n a pas ete trouve dans le $HOME
                 fi
          fi
    ce que je veux faire : si au lancement du script l'utilisateur a donné un argument (en loccurence un chemin), la variable LOCALCLASSPATH est égale à ce chemin. Si il n'y a pas d'argument, je le script cherche dans le HOME si le fichier "xrootd.jar" est présent. Si il est présent, LOCALCLASSPATH devient "chemin/xrootd.jar", sinon un message est lancé pour dire que rien n'a été trouvé.

    Vous pouvez m'aider s'il vous plait je galère

    Merki 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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     if [ -n "$1" ];  then
                  LOCALCLASSPATH=$1
          else
                  CMDLINE=`find $HOME -name xrootd.jar`
                  if [ -n "$CMDLINE" ];  then
                         LOCALCLASSPATH=$CMDLINE
                 else
                         echo Xrootd.jar n a pas ete trouve dans le $HOME
                 fi
          fi

  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
    Donc, il semblerait que le test du if soit défectueux ...
    Des explications, plutôt qu'une solution clef en main svp

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Points : 76
    Points
    76
    Par défaut
    merci beaucoup !!

  5. #5
    Membre habitué Avatar de spirit_epock
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 153
    Points : 173
    Points
    173
    Par défaut
    Pour ton if il faut écrire
    pas besoin de guillemets.

    Tu veux tester si $1 existe?
    a+

  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
    Citation Envoyé par spirit_epock
    Pour ton if il faut écrire
    pas besoin de guillemets.

    Tu veux tester si $1 existe?
    a+
    -n "$var" test si var est non-null.
    c'est vrai que j'aurais pu écrire
    (économie de 3 bytes )
    if [ ! $var ] fait un peu n'importe quoi

    var n'est pas assigné
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    unset var; if [ ! $var ]; then echo TRUE; else echo FALSE; fi
    TRUE
    var est assigné à une chaine sans signification particulière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var="xyz"; if [ ! $var ]; then echo TRUE; else echo FALSE; fi
    FALSE
    var est assigné à une chaine qui a une signification
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var="1 -eq 2"; if [ ! $var ]; then echo TRUE; else echo FALSE; fi
    TRUE

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Points : 76
    Points
    76
    Par défaut
    hihih ça c'est de l'explication !

    merci en tout cas ça marche bien mon pti script

  8. #8
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    Oubli pas le tag , il se trouve tout en bas de la page

    ++

Discussions similaires

  1. Script test de deux chaine avec if
    Par kacedda dans le forum Linux
    Réponses: 6
    Dernier message: 02/05/2003, 15h38
  2. [XMLRAD] test de nullité
    Par Pm dans le forum XMLRAD
    Réponses: 5
    Dernier message: 29/11/2002, 10h57
  3. test collisions
    Par tatakinawa dans le forum OpenGL
    Réponses: 5
    Dernier message: 08/06/2002, 06h03

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