Forum Programmation.shell pwd et `pwd` : différence de résultat

Posté par  .
Étiquettes : aucune
0
29
sept.
2006
Voici mon problème : si je suis dans un répertoire dont le nom contient 2 espaces consécutifs, les commandes pwd et echo `pwd` ne renvoient pas la même chose. Bug bash ou pas ?


Un exemple :

norbs@norbux:/tmp$ bash --version
GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu)
Copyright (C) 2002 Free Software Foundation, Inc.
norbs@norbux:/tmp$ mkdir "a   b" [------ 2 espaces]
norbs@norbux:/tmp$ cd a\ \ b/
norbs@norbux:/tmp/a  b$ pwd
/tmp/a   b [-------- 2 espaces (ok)]
norbs@norbux:/tmp/a b$ echo `pwd`
/tmp/a b [------------ 1 seul espace (????) ]
  • # logique

    Posté par  . Évalué à 10.

    echo `pwd`
    équivaut a un:
    echo /tmp/a b
    donc deux arguments, donc echo affiche d'abord "/tmp/a" puis "b" séparé d'un espace
    il faut donc faire:
    echo "`pwd`"
    et là, plus de soucis
    • [^] # Re: logique

      Posté par  . Évalué à 0.

      merci !

      et une note pour moi-même : ne plus jamais poster une question à 1h et demi du matin ;-)
  • # bah

    Posté par  (site web personnel) . Évalué à 3.

    [gc@meuh /tmp] echo a b
    a b
    [gc@meuh /tmp] echo a    b
    a b
    [gc@meuh /tmp] echo "a    b"
    a    b

    parsing usuel des arguments d'une commande.. (en général avant d'accuser un bug d'un programme core d'une distro Linux il vaut mieux accuser sa propre ignorance ;p)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.