On Thu, Mar 20, 2003 at 09:48:08PM +0100, Vincent Guyot wrote:
> Ce que je n'avais pas compris comme vous l'avez dit, c'est qu'en faisant
>       ssh linux echo $PATH

Le problème essentiel est que sous UNIX, c'est le shell qui se charge de
l'expansion des arguments.

Par expansion des arguments on entend:

   $PATH    ->  contenu de la variable PATH

   *.tar.gz -> liste des fichiers se terminant par la suite '.tar.gz'


En bref lorsque vous tapez

   cp * /tmp

la commande cp ne verra jamais l'étoile, mais bien une liste de fichiers
passés comme paramètre 1 à N, et /tmp passé comme paramètre N+1.

De même, quand vous tapez:

   ssh linux echo $PATH

la commande ssh ne verra jamais $PATH mais bien son contenu, donc à
fortiori la commande echo.

Les guillemets doubles (guillemets) "" empêchent l'expansion des
`wildcard' (*[],{}?), et les guillemets simples (apostrophes) '' en plus
des variables ($).

Les backslashes \ permettent également de masquer le sens de $*[]? et
autres symboles spécifiques, comme lui-même.

Pour plus d'informations à propos de bash consultez le manuel Info
(il est très complet) de bash, ou lisez le cours UNIX de l'ESNIG, voir:
http://esnig5.cpln.ch/~esnig/CVS/cours_linux/cours/cours_200/
et suivants)

--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.

Répondre à