2012-03-05 2 views
0

У меня есть программа на C, в которой выполняются два scanf().Сценарий оболочки для запуска программы, которая запрашивает ввод

Мне нужно написать shellscript, который запустит программу и даст ей аргументы.

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

Любая помощь приветствуется.

+0

Можете ли вы опубликовать то, что вы пробовали .. Вы упомянули, что вы пробовали что-то, связанное с подкладкой трубы. – Ajai

+0

@ Ajai 'perl -e 'print" input ";'' | программа –

ответ

1

Это должно работать

echo "some input" | yourprog 

например, echo "1 1 + p" | dc

+0

ха-ха-ха .... да спасибо –

+0

Каким образом это не используется трубопровод? Код, который вы опубликовали, и ответ, упомянутый выше, не имеют никакой разницы. Вы делаете это в perl, и выше ответ делает это в сценарии оболочки. Вы также упомянули в своем вопросе, что вам не нужен ответ на конвейер ... Удивите, почему этот простой ответ должен быть ответом, хотя – Ajai

+0

@Ajai. Вы правы, но по какой-то причине сценарий perl не вызывал желаемого поведения (т. Е. вывод). Я сам не знаю, почему. Я использую shellscript для запуска строковых атак на виртуальной машине, на которой запущены старые версии всего, что может быть причиной. –

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