défi variables bash

Vincent Lefevre vincent at vinc17.org
Mon Jan 23 16:52:27 CET 2006


On 2006-01-23 16:24:22 +0100, Florent Guiliani wrote:
> Hello à tous,
> 
> J'aimerais mettre des arguments dans une variable
> et les passer à une commande ex:
> 
> A="a b c"
> bash -c "echo \$#" $A
> 
> Seulement dans cet exemple j'obtient 2 c'est à dire que tout le
> contenu de A est envoyé dans le même paramètre.

Non, les paramètres 0, 1 et 2 sont envoyés, ça fait 3.
Essaie avec A="a b c d" par exemple.

En quotant le $A comme ceci "$A", tu obtiens bien 0 (1 seul paramètre).

Sinon, je trouve que l'utilisation de tableaux avec zsh est préférable:
cela permet de passer de manière fiable des arguments avec des espaces.

-- 
Vincent Lefèvre <vincent at vinc17.org> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / SPACES project at LORIA



More information about the Shell mailing list