export
est une fonction intégrée de Bash, echo
est un exécutable dans votre $PATH
. Alors export
est interprété par Bash tel quel, sans générer de nouveau processus.
Vous devez obtenir Bash pour interpréter votre commande, que vous pouvez passer sous forme de chaîne avec le -c
choix :
bash -c "export foo=bar; echo \$foo"
AUSSI :
Chaque invocation de bash -c
commence par un nouvel environnement. Donc quelque chose comme :
bash -c "export foo=bar"
bash -c "echo \$foo"
ne fonctionnera pas. La deuxième invocation ne se souvient pas de foo
.
Au lieu de cela, vous devez enchaîner les commandes séparées par ;
en une seule invocation de bash -c
:
bash -c "export foo=bar; echo \$foo"
Si vous utilisez le shell C -
setenv PATH $PATH":/home/tmp"