2011-12-15 3 views
26

Я пытаюсь выполнить скрипт со стандартного ввода, а также передать ему аргументы. Есть ли способ сделать это?Bash - Как передать аргументы скрипту, который читается через стандартный ввод

Давайте предположим, что у меня есть следующие:

cat script.sh | bash 

Как бы я передать аргументы в сценарий?

Я не хочу, чтобы это сделать:

bash script.sh arguments 

Nor это:

./script.sh arguments 

ответ

31

В Linux

cat script.sh | bash /dev/stdin arguments 

, кажется, работает.

+0

Отлично! Не догадался бы. – dabest1

+21

cat script.sh | bash -s - arguments – ccarton

+0

Это хорошо, что, безусловно, будет работать везде, в то время как '/ dev/stdin' может и не быть. –

Смежные вопросы