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

Apple Discussion :

récupérer valeur retourné find


Sujet :

Apple

  1. #1
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 276
    Points : 83
    Points
    83
    Par défaut récupérer valeur retourné find
    Salut tout le monde, je voudrais récupérer la valeur de la commande find afin de choisir de faire un traitement
    J'ai essayé avec le script suivant mais ça ne marche pas. Je crois que je manque qque choses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if [ find /Applications/Autonome/test.log = 0 ] ; then
       echo "file not found !"
    fi
    Thanks for your help.
    Best regards

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 957
    Points : 4 386
    Points
    4 386
    Par défaut
    Citation Envoyé par mercure07 Voir le message
    Salut tout le monde, je voudrais récupérer la valeur de la commande find afin de choisir de faire un traitement
    J'ai essayé avec le script suivant mais ça ne marche pas. Je crois que je manque qque choses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if [ find /Applications/Autonome/test.log = 0 ] ; then
       echo "file not found !"
    fi
    Thanks for your help.
    Best regards
    il faut backquoter find /Applications/Autonome/test.log
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    `find /Applications/Autonome/test.log`
    et find renvoit 0 quand il trouve quelque chose et 1 quand il ne trouve pas…
    et = sert pour comparer des strings, c'est -eq pour des entiers…

    mais pour tester l'existence d'un seul fichier : "test -e" ou "test -f"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ! test -e "/Applications/Autonome/test.log"
    then
       echo "file not found !"
    fi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ! test -f "/Applications/Autonome/test.log"
    then
       echo "file not found or not a regular file (maybe a directory, a socket, …)!"
    fi

  3. #3
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 276
    Points : 83
    Points
    83
    Par défaut
    Je vous remercie pour votre réponse qui m'a bcp aidé.
    J'ai encore une autre problème tjs dans ce sens.
    J'ai un script à exécuter et je voudrais avoir la valeur de retour de chaque commande afin d'ecrire dans un fichier log les erreurs éventuelles.
    Maintenant mon problème est de savoir si la copie s'est bien déroulé ou pas.
    j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if test 'cp /Autonome/ORDO.FDB /Applications/Test/' gt 0
    then 
          echo "Erreur lors de la copie du fichier Odro.fdb">>install.log
    fi
    Mais j'ai l'erreur "Interger Expression expected". Bien que dans le man on indique bien que cp renvoi 0 si succés et 1 sinon.
    Pourrez vous m'eclaircir comment dois je faire.
    Merci encore de votre aide précieuse.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut,

    Voci un lien qui pourrait t'aider.

    http://okki666.free.fr/docmaster/articles/linux131.html

  5. #5
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 276
    Points : 83
    Points
    83
    Par défaut
    Merci de votre réponse, c'est vrai que le lien est utile et permet de détecter le code d'erreur mais il n'est trés utile dans mon cas vu que je veux avoir le code de retour de la commande juste apré son exécution.
    J'ai essayé le script suivant qui exécute la commande de la copie, ensuite essai de récupérer la veleur de retour.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    cp /Autonome/ORDO.FDB /Application/Test/  #le dossier n'exite pas pour provoquer une erreur
    if test $? -gt 0 then
       echo "Erreur lors de la copie du fichier ORDO.FDB !">>/install.log
    fi
    Cela n'a pa fonctionné. Avez vous une suggestion sur ce problème.
    Merci de votre collaboration
    Cordialement

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 957
    Points : 4 386
    Points
    4 386
    Par défaut
    Citation Envoyé par mercure07 Voir le message
    Merci de votre réponse, c'est vrai que le lien est utile et permet de détecter le code d'erreur mais il n'est trés utile dans mon cas vu que je veux avoir le code de retour de la commande juste apré son exécution.
    J'ai essayé le script suivant qui exécute la commande de la copie, ensuite essai de récupérer la veleur de retour.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    cp /Autonome/ORDO.FDB /Application/Test/  #le dossier n'exite pas pour provoquer une erreur
    if test $? -gt 0 then
       echo "Erreur lors de la copie du fichier ORDO.FDB !">>/install.log
    fi
    Cela n'a pa fonctionné. Avez vous une suggestion sur ce problème.
    Merci de votre collaboration
    Cordialement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if test $? -gt 0 
    then
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if test $? -gt 0 ; then

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 149
    Points : 219
    Points
    219
    Par défaut
    En règle générale, pour "attraper" la sortie d'une commande et la passer en arguments à une autre, on peut utiliser la commande xargs

    ex :
    $ find /chemin/ou/charcher/ -name * | xargs grep "chaine a chercher"

    ici xargs va prendre la liste retournée par find et la passer a grep

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/04/2009, 11h06
  2. Récupérer la valeur retourné par prompt dans C#
    Par hassine dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 31/03/2009, 11h41
  3. [Dojo] Récupérer valeur retournée par un xhrGet
    Par *.Har(d)t dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 23/03/2009, 10h07
  4. Réponses: 3
    Dernier message: 12/06/2008, 19h36
  5. Réponses: 15
    Dernier message: 04/10/2007, 10h37

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