Partage
  • Partager sur Facebook
  • Partager sur Twitter

Arguments et options boucles for Linux TP galerie

Introduction aux scripts shhell

    9 février 2016 à 14:38:46

    Salut,

    j'ai suivi le cours "Introduction aux scripts shell" et je viens d'arriver au premier TP.

    Dans ce premier chapitre j'ai vu et appris beaucoup de choses. C'est clair et bien expliqué.

    Cependant en arrivant au TP il y a un code que j'ai du mal à comprendre. Quelqu'un pourrait il m'expliquer svp.

    Le code c'est :

    for image in `ls *.png *.jpg *.jpeg *.gif 2>/dev/null`

     Je ne comprends pas bien le "2>/dev/null

    Merci

    • Partager sur Facebook
    • Partager sur Twitter

    _n0X

      9 février 2016 à 15:18:05

      salut,

      ce code est une ho/e_rreur, car parcourir la sortie de ls peut être source d'erreur de lecture, et parce que for sépare les données en mots, et pas en lignes.

      2>/dev/null redirige la sortie d'erreur standard de ls vers le fichier /dev/null, qui absorbe tout (comme un trou noir).

      mais, comme je l'ai suggéré, la commande ls, ici, est inutile

      for image in *.png *.jpg *.jpeg *.gif
      do
         if test -f "$image"
         then
            :do whatever with "$image"
         fi
      done



      • Partager sur Facebook
      • Partager sur Twitter

      Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

        9 février 2016 à 15:30:04

        Bonjour et merci. Je ne connaissais pas cette formule de sortie en cas d'erreur. Je connais vaguement exit0 et exit1 que l'on peut, je crois, employé avec un goto sur les scripts .bats il me semble. Les commandes exit0 et exit1 existent aussi sur Linux.

        Il y a un petit truc que je ne capte pas de ton bout de code. Que fais ? :

        :do whatever with "$image"

        Je ne connais pas ce type de commande pour le moment mais ton code est intéressant. Je vais le tester d'ailleurs.

        Merci

        • Partager sur Facebook
        • Partager sur Twitter

        _n0X

          9 février 2016 à 15:34:30

          je viens de tester le code donné en solution sans "2>dev/null" et le script bug.

          Personnellement je pensais que ça allait fonctionner vu que c'est juste une sortie d'erreur. Bizarre non?

          Le code que j'ai testé est donc :

          for image in `ls *.gif *.jpg *.jpeg *.png`

          et ça ne fonctionne pas.

          • Partager sur Facebook
          • Partager sur Twitter

          _n0X

            9 février 2016 à 15:37:35

            ça ne fait rien, rien c'est un commentaire.

            il n'existe pas, telles quelles, de commandes exit0, et exit1. il existe une commande exit, qui prend en paramètre le code d'erreur (entre 0 et 255) souhaité.

            -
            Edité par dantonq 9 février 2016 à 15:40:55

            • Partager sur Facebook
            • Partager sur Twitter

            Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

              9 février 2016 à 15:40:08

              le script bug.

              que se passe-t-il exactement ?

              ça ne fonctionne pas.

              que se passe-t-il exactement ?

              • Partager sur Facebook
              • Partager sur Twitter

              Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

              Arguments et options boucles for Linux TP galerie

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown