Я использую Ubuntu Linux. Предположим, есть программа под названием myprogram
. Эта программа предлагает пользователю ввести данные; в частности, пользователь должен ввести целое число при запросе и нажать Enter. Я хотел бы автоматизировать этот процесс, используя скрипт bash. В частности, я хотел бы выполнить myprogram
, скажем, 100 раз (используя счетчик, i
который идет от 1
к 100
). При каждом выполнении myprogram
я хотел бы ввести текущее значение i
при появлении запроса.
(Кстати, myprogram
принимает параметры / переключатели -options
, которые будут постоянными и, следовательно, будут указаны в скрипте bash.)
Неполный скелет этого bash-скрипта может быть:
#!/bin/bash
for i in {1..100}
do
myprogram -options
done
Теперь я хотел бы изменить приведенный выше код так, чтобы текущее значение i
вводилось по запросу программы. Каков наилучший способ сделать это?
Веб-сайт программного обеспечения, которое я использую, предлагает использовать <<EOF
в конце myprogram -options
строки. Я думаю, что это говорит bash посмотреть на «конец файла» для ввода, чтобы использовать. Но что, если я не хочу помещать ввод в конец файла? Что делать, если я хотел бы поставить его сразу после <<
или <
?
Причина в том, что все будет сложнее. Например, я могу ввести целочисленный счетчик, j
который изменяется нелинейным, непоследовательным образом. Затем я хотел бы передать текущее значение j
to myprogram
на каждой итерации, но значение j
может изменяться между вызовом myprogram -options
и концом файла EOF
.
У Вас есть какие-то предложения?