Faça o programa primeiro ler do pipe, depois do teclado


17

Considere o programa interativo interactive. Eu tenho que executar este programa com bastante frequência e cada vez que o executo, os primeiros comandos são os mesmos. Obviamente, ter que digitar esses comandos repetidamente é uma dor. Eu coletei esses comandos (separados por novas linhas) no arquivo cmd. Agora eu posso fazer cat cmd | interactivepara executar os comandos. O problema é que, uma vez cmdtotalmente lido, interactiverecebe o EOF e sai.

O que eu desejo fazer é primeiro interactiveler o pipe (obviamente interactive < cmdtambém é aceitável) e, quando o EOF for recebido, comece a ler pelo teclado.

Respostas:


21

Basta pedir catpara concatenar esse arquivo com o stdin:

cat cmd - | interactive

1
A solução acima é provavelmente ideal. Se você estiver usando uma área de trabalho da GUI, também dê uma olhada no AutoKey. Isso permitirá que você crie macros que podem fazer quase tudo o que você pode fazer a partir de um teclado. Fica um pouco complicado se você precisar esperar que as coisas aconteçam ou precisar obter dados da tela, mas se você conhece python (o idioma em que suas macros estão codificadas), o céu é o limite.
31512 Joe
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.