Je n'arrive pas à utiliser le Bash option “-c” avec des arguments après l'option “-c” de la chaîne

La page de manuel de Bash dit, au sujet de la -c option:

-c string
Si le -c option est présente, alors les commandes sont lues à partir de
string. Si il y a des arguments après
la chaîne, ils sont affectés à l'
les paramètres positionnels, en commençant par
$0.

Alors au vu de cette description, je pense que quelque chose comme cela devrait fonctionner:

bash -c "echo arg 0: $0, arg 1: $1" arg1

mais la sortie est le suivant, donc il semble que les arguments après le -c chaîne ne sont pas attribuées aux paramètres positionnels.

arg 0: -bash, arg 1:

Je suis en cours d'exécution assez ancienne Bash (sur Fedora 4):

[root@dd42 tronc]# bash --version
GNU bash, version 3.00.16(1)-release i386-redhat-linux-gnu)
Copyright (C) 2004 Free Software Foundation, Inc.

Je suis vraiment essayer d'exécuter un peu d'un script shell avec des arguments. J'ai pensé -c avait l'air très prometteur, d'où la question ci-dessus. Je me demandais à propos de l'utilisation d'eval, mais je ne pense pas que je peux passer des arguments à la substance qui suit eval. Je suis ouvert à d'autres suggestions.

InformationsquelleAutor Chris Markle | 2009-11-10