Bash et parenthèses !?

Résolu
Bonjour,

en ligne de commande, la konsole ne reconnaît pas "(" et ")", j'ai pourtant besoin de lui faire comprendre car j'ai un fichier qui comporte des parenthèses. J'ai réussi à lui faire comprendre les espaces avec \ mais ca ne marche pas pour les parenthèses ... Quelqu'un connaît t'il l'astuce ? C'est rageant d'être bloqué pour ça ...
Configuration: Linux Mandriva
Firefox 2.0.0.6

22 réponses

  1. Modérateur
    Salut,

    ça marche qu'avec les apostrophes simples
    $ touch 'Revue technique Volvo 440-460-480 (assemblé).pdf '
    $ ls -l 'Revue technique Volvo 440-460-480 (assemblé).pdf '
    -rw-r--r-- 1 lami20j lami20j 0 2007-11-07 00:06 Revue technique Volvo 440-460-480 (assemblé).pdf
    $ mv -v 'Revue technique Volvo 440-460-480 (assemblé).pdf ' blabla
    `Revue technique Volvo 440-460-480 (assemblé).pdf ' -> `blabla'
    1. Cette fois, c'est bon
      en faisant tab après mv il me donne:

      mv Revue\ Technique\ Volvo\ 440-460-480\ \(assemblé\).pdf

      C'est à dire ce que je lui avait écris tout à l'heure, je me dis que ca ne va pas marcher mais j'essaie quand même de renommer le fichier et là ca marche.

      J'en conclus qu'il voulait me le proposer pour que ca marche et qu'il refusait que ce soit moi qui tapes la commande !

      En tout cas merci, j'aurais appris à quoi peut servir Tab, ca peut être utile.

      (les mystères de l'informatique ne peuvent me pénetrer, tant mieux, ca me ferait trop mal)

      A la prochaine
      1. Il me dit ca:

        $ mv R
        mv: opérande du fichier cible manquant après `R'

        ...

        Oui, je suis dans le bon endroit
        1. question con sinon, t'es bien au bon endroit dans l'arborescence quand tu tapes ta commande ?
          1. j'ai dit ceci :

            l'idée : clic droit avec la souris et renommage du fichier en plus "linuxien".

            car j'ai dit ceci :

            Sous linux en mode console , impossible pour moi de manipuler ce "nom de fichier windows" (le TAB est inopérant dans mon cas).

            :-))
            1. et pour le problème de droits sur le fichier : no problémo :
              su -
              chown user fichier
              chown user.user fichier

              et voilà !

              :-))
          2. quand tu tapes
            mv R

            et que tu appuies sur TAB à ce moment-là est-ce que tu as ton fichier dans les choix possibles ?
            1. Je voudrais, sinon, simplement le renommer mais même problème ...

              mv Revue\ Technique\ Volvo\ 440-460-480\ \(assemblé\).pdf RtaVolvo440-460-480.pdf
              mv: ne peut évaluer `Revue Technique Volvo 440-460-480 (assemblé).pdf': Aucun fichier ou répertoire de ce type
              1. concernant l'auto-completion avec TAB, s'il t'a posé cette question c'ets que tu as du appuyer alors que tu n'avais pas encore tapé de commande, donc forcement ça fait beaucoup de possibilité, il faut commencer à taper la commande où le nom du fichier que tu veux et APRES appuyer sur TAB ;-)
                1. En fait je me suis enflammé, avec mv, je crois avoir juste crée un fichier vide justement...
                  1. Modérateur
                    La commande "touch" sert à créer un fichier vide (enfin elle ne sert pas qu'à ça, mais ici oui).
                    Comme il me fallait un exemple pour faire les tests, j'ai d'abord créé un fichier vide contenant des espaces dans son nom ainsi que des parenthèses...

                    Si ça marche tant mieux, mais j'ai des doutes quand même ;-\
                    1. si je suis intervenu c'est que ça m'a rappelé le souci du fichier windows que j'avais rapatrié sous linux (hé oui le fameux problème du "nom de fichier").
                      Sous linux en mode console , impossible pour moi de manipuler ce "nom de fichier windows" (le TAB est inopérant dans mon cas).
                      l'idée (dans la mesure ou l'on a les droits et pour moi pas de problème : clic droit averc la souris et renommage du fichier en plus "linuxien".
                      ensuite plus de problème pour manipuler le fichier en mode console.
                      mais peut-être que quelque chose m'échappe dans ce problème.
                      :-))
                      1. Terrible, ca marche !

                        J'ai fait ce que tu as écris sans comprendre et c'est ok. Par contre, j'ai pas compris a quoi servait "touch". Et en fait, en konsole pour renommer un fichier, on se sert de mv ?

                        J'avais d'abord fait tab et il m'envoyait:

                        Display all 2389 possibilities? (y or n)

                        J'ai écrit "touch" ensuite.

                        Merci en tout cas.
                        1. Modérateur
                          Ben c'est bizarre ;-\
                          [rep]$ touch "technique Volvo 440-460-480 (assemblé).pdf"
                          [rep]$ ls
                          technique Volvo 440-460-480 (assemblé).pdf
                          [rep]$ mv technique\ Volvo\ 440-460-480\ \(assemblé\).pdf blabla.pdf
                          [rep]$ ls
                          blabla.pdf
                          [rep]$
                          Aide-toi de la complétion (touche TAB) pour compléter et saisir les noms dans ces cas là.
                          1. J'ai bien pensé à changer le nom du fichier mais j'ai pas les droits et donc, même si je veux changer les droits, je me retrouves avec le même problème.
                            1. Ben justement, j'avais essayé et je viens de éessayer mais ca le fait pas ..

                              mv Revue\ technique\ Volvo\ 440-460-480\ \(assemblé\).pdf /home/moustique/Documents/thomas/RTA/
                              mv: ne peut évaluer `Revue technique Volvo 440-460-480 (assemblé).pdf': Aucun fichier ou répertoire de ce type

                              Bizarre, bizarre ...
                              1. Modérateur
                                Salut,

                                Il te faut protéger les parenthèses aussi, car c'est des caractères entrant dans la syntaxe de "bash" (pour grouper les commandes notamment), donc :
                                mv Revue\ technique\ Volvo\ 440-460-480\ \(assemblé\).pdf /home/moustique/Documents/thomas/RTA/
                                devrait le faire ;-))
                                1. mv 'Revue technique Volvo 440-460-480 (assemblé).pdf' /home/moustique/Documents/thomas/RTA/
                                  mv: ne peut évaluer `Revue technique Volvo 440-460-480 (assemblé).pdf': Aucun fichier ou répertoire de ce type

                                  ...pas mieux...
                                  1. il faut mettre le nom du fichier en entier entre apostrophes.
                                    • 1
                                    • 2