Я использую 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который изменяется нелинейным, непоследовательным образом. Затем я хотел бы передать текущее значение jto myprogramна каждой итерации, но значение jможет изменяться между вызовом myprogram -optionsи концом файла EOF.
У Вас есть какие-то предложения?