Я запускаю Ubuntu Linux. Припустимо, існує програма під назвою myprogram. Ця програма запрошує користувача на введення; конкретно, користувач повинен ввести ціле число, коли буде запропоновано, і натиснути Enter. Я хотів би автоматизувати цей процес за допомогою скрипту bash. Зокрема, я хотів би виконати myprogram, скажімо, 100 разів (використовуючи лічильник, iякий переходить від 1до 100). Під час кожного виконання myprogram, я хотів би ввести поточне значення, iколи з'явиться запит.
(До речі, myprogramприймає параметри / перемикачі -options, всі вони будуть постійними і таким чином задаються в рамках bash-скрипту.)
Неповним скелетом цього баш-сценарію може бути:
#!/bin/bash
for i in {1..100}
do
myprogram -options
done
Тепер я хотів би змінити вищевказаний код так, щоб поточне значення iвводилося при запрошенні програми. Який найкращий спосіб зробити це?
Веб-сайт програмного забезпечення, яке я використовую, пропонує використовувати <<EOFв кінці myprogram -optionsрядка. Я думаю, що це підказує bash дивитись на "кінець файлу" для введення для використання. Але що робити, якщо я не хочу розміщувати дані в кінці файлу? Що робити, якщо я хотів би поставити його відразу після <<або <?
Причина в тому, що все ускладниться. Наприклад, я можу ввести цілочисельний лічильник, jякий змінюється якимось нелінійним, не послідовним способом. Тоді я б хотів подати поточне значення jдо myprogramкожної ітерації, але значення jможе змінюватися між викликом до myprogram -optionsкінця файла EOF.
Чи є у вас якісь пропозиції?