Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Shell] Débutant, suite d'instructions Shell+fichiers

    4 mars 2007 à 6:58:15

    Bonjours tout le monde, je suis débutant en Shell et j'ai un petit problème avec une suite d'instructions de commande Shell, pouvez vous me donnez un petit coup de main ?
    Voici la situation :
    J'ai un fichier donnees contenant "abcd". Après avoir exécuté ces intructions shell, mon fichier donnees est toujours le même, c'est normal ? Est ce que vous pouvez m'expliquer ce que font exactement cette suite d'instructions shell
    (rm donnees ; cat donnees ; cat > donnees) < donnees 
    ls  -il donnees 

    (ls <repertoire> donne la liste des fichiers ou repertoires de <repertoire> avec l'inode et mode du fichier, nombre de liens...)

    Voici le résultat de la commande dans la console :
    jopzeut@dhcppc4:~/Desktop$ ls -il donnees
    819943 -rw-r--r--  1 jopzeut jopzeut 5 2007-02-12 00:56 donnees
    jopzeut@dhcppc4:~/Desktop$ (rm donnees;cat donnees;cat>donnees)<donnees
    cat: donnees: Aucun fichier ou répertoire de ce type
    jopzeut@dhcppc4:~/Desktop$ cat donnees
    abcd

    Merci d'avance ;)
    • Partager sur Facebook
    • Partager sur Twitter
      4 mars 2007 à 9:11:39

      Salut,

      La redirection de l'entrée standard s'applique aux trois commandes. Sauf que ça n'interesse ni rm, ni le premier cat. Par contre, le second cat, n'a pas de fichiers en arguments, donc il va prendre l'entrée standard. Et cette entrée avait été définie avant l'éxecution des trois commandes (normal, il faut savoir ce qu'on leur donne avant de les éxecuter). Et c'est pour ça que donnees « revit », la troisième commande n'est pas affectée par le rm.
      • Partager sur Facebook
      • Partager sur Twitter
        4 mars 2007 à 9:17:45

        dans ta parenthèse, tu commence par supprimer "donnees" (provisoirement)
        c'est donc normal que cat te renvoie qu'il n'existe pas...
        (rm donnees ; cat donnees ; cat > donnees) < donnees

        on commence à lire par la droite :
        < donnees : on applique donnees a toute la parenthèse
        puis on retourne en droite à gauche :p
        rm donnees : supprime "donnees"
        cat donnees : affiche "donnees", mais il n'existe plus, d'où le message d'erreur
        cat > donnees : restaure "donnees" car il est utilisé par la parenthèse
        • Partager sur Facebook
        • Partager sur Twitter
          4 mars 2007 à 12:12:38

          Je vous remercie SiMonkey et Cygal pour cette précieuse aide que vous m'avez apporté, maintenant j'y vois bien plus clair. :):):)
          • Partager sur Facebook
          • Partager sur Twitter

          [Shell] Débutant, suite d'instructions Shell+fichiers

          × 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