• [^] # Re: decomposer, comprendre et recomposer

    Posté par (site web personnel, Mastodon) . En réponse au message Besoins d'aide sur deux commandes. Évalué à 7.

    En fait ça ne marchera pas pour plusieurs raisons.

    Raison n°1: le mauvais type de guillemet est utilisé

    Il faut différencier (je pars du principe que tu as un clavier azerty):

    • ` (backquote, AltGr+7 sur ton clavier)
    • ' (guillemet simple, sur la touche 4 du clavier)
    • " (guillemet double, sur la touche 3 du clavier)

    Je n'aime pas le backquote (guillemet inversé) parce que quand on débute on ne voit pas la différence avec le guillemet simple. La notation $(commande) est équivalente à `commande` et plus compréhensible à mon sens.

    Pour comprendre un peu mieux, je te conseille donc la lecture du Guide avancé d'écriture des scripts Bash, et notamment la partie sur les guillemets.

    Raison n°2: les espaces servent de séparateur

    Cette commande n'est pas valide:

    ls..

    Celle là oui:

    ls ..

    Raison n°3: man est ton ami (aka RTFM)

    A quoi sert le xvzf dans un tar xvzf ...

    La commande man te donne des infos sur une commande. man tar te dira donc à quoi correspondent les lettres qui suivent (pour casses le suspense, ce sont des options, à toi de regarder le manuel pour savoir ce que fait la commande tar et à quoi correspondent ces options)

    Conclusion

    Il y a de fortes chances que tu te sois gourré en tapant ta première commande:

    for i in 'ls..lesDonnees/*.val'

    (au passage il manque aussi un slash).
    Je ne pense pas me tromper en disant qu'il doit être écrit sur ton papier plutôt:

    for i in `ls ../lesDonnees/*.val`

    Tu devrais à présent voir les différences.