Переконайтеся, що програма читається спочатку з труби, потім з клавіатури


17

Розгляньте інтерактивну програму interactive. Мені доводиться запускати цю програму досить часто, і кожен раз, коли я запускаю її, перші кілька команд однакові. Очевидно, що набирати ці команди знову і знову - це біль. Я зібрав цю команду (розділену новими рядками) у файл cmd. Тепер я можу cat cmd | interactiveзапустити команди. Проблема полягає в тому, що після cmdповного зчитування interactiveотримує EOF і виходить.

Що я хотів би зробити, це спершу interactiveпрочитати з труби (очевидно, interactive < cmdце також прийнятно), і коли отримано EOF, почніть читати замість цього клавіатуру.

Відповіді:


21

Просто попросіть catз'єднати цей файл зі строєм:

cat cmd - | interactive

1
Наведене вище рішення, ймовірно, є оптимальним. Якщо ви використовуєте робочий стіл gui, також погляньте на AutoKey. Це дозволить вам створити макроси, які можуть робити майже все, що можна зробити, з клавіатури. Це стає трохи хитро, якщо вам доведеться чекати, коли щось станеться, або потрібно отримати дані з екрану, але якщо ви знаєте python (мова, в якій закодовані макроси), небо є межею.
Джо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.