47 votes

Bash - Comment passer des arguments à un script qui est lu via l'entrée standard

J'essaie d'exécuter un script à partir de l'entrée standard et de lui passer également des arguments. Existe-t-il un moyen de le faire ?

Disons que j'ai les éléments suivants :

cat script.sh | bash

Comment pourrais-je passer les arguments au script ?

Je ne veux pas faire ça :

bash script.sh arguments

Ni ça :

./script.sh arguments

52voto

Michael Hoffman Points 8557

Sous Linux,

cat script.sh | bash /dev/stdin arguments

semble fonctionner.

0 votes

Excellent ! Je ne l'aurais pas deviné.

39 votes

Cat script.sh | bash -s - arguments

0 votes

C'est bien, ça marcherait sûrement partout, alors que /dev/stdin peut-être pas.

12voto

bryant1410 Points 11

Après Commentaire de @ccarton :

cat script.sh | bash -s - arguments

C'est plus portable que La solution de @Michael Hoffman .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X