Haga que el programa se lea primero desde la tubería, luego desde el teclado

17

Considere el programa interactivo interactive. Tengo que ejecutar este programa con bastante frecuencia, y cada vez que lo ejecuto, los primeros comandos son los mismos. Obviamente, tener que escribir esos comandos una y otra vez es un dolor. He recopilado esos comandos (separados por nuevas líneas) en el archivo cmd. Ahora puedo hacer cat cmd | interactivepara ejecutar los comandos. El problema es que una vez que cmdse ha leído completamente, interactiverecibe EOF y sale.

Lo que deseo hacer es interactiveleer primero desde la tubería (obviamente, interactive < cmdtambién es aceptable) y cuando se recibe EOF, comenzar a leer desde el teclado.

Viktor Dahl
fuente

Respuestas:

21

Solo pide catconcatenar ese archivo con el stdin:

cat cmd - | interactive
hombre trabajando
fuente
1
La solución anterior es probablemente óptima. Si está utilizando un escritorio gui, también eche un vistazo a AutoKey. Le permitirá construir macros que pueden hacer casi cualquier cosa que pueda hacer desde un teclado. Se vuelve un poco complicado si tienes que esperar a que sucedan cosas, o si tienes que obtener datos de la pantalla, pero si conoces Python (el lenguaje en el que están codificadas sus macros), el cielo es el límite.
Joe