У меня есть программа (которую я не написал), которая не предназначена для чтения команд из файла. Ввод команд на STDIN довольно утомителен, поэтому я хотел бы иметь возможность автоматизировать его, записав команды в файл для повторного использования. Проблема в том, что если программа нажмет EOF, она будет бесконечно зацикливаться, пытаясь прочитать следующую команду, выбрасывая бесконечный поток пунктов меню на экран.
То, что я хотел бы сделать, это кошка файла, содержащего команды в программе, через канал, а затем использовать какую-то магию оболочки, чтобы он переключался с файла на STDIN, когда достигнет EOF файла.
Примечание: я уже рассматривал возможность использования cat с '-' для STDIN. К сожалению (я не знал этого раньше), переданные по очереди команды piped ожидают завершения вывода первой программы - они не работают параллельно. Если есть какой-нибудь способ заставить программы работать параллельно с этим действием, это сработает!
Есть мысли? Спасибо за любую помощь!
РЕДАКТИРОВАТЬ:
Я должен отметить, что моя цель не только не дать системе попасть в конец файла команд. Я хотел бы иметь возможность продолжать вводить команды с клавиатуры, когда файл достигает EOF.