Fai prima leggere il programma dalla pipe, poi dalla tastiera


17

Considera il programma interattivo interactive. Devo eseguire questo programma abbastanza frequentemente e ogni volta che lo eseguo i primi comandi sono gli stessi. Ovviamente, dover digitare questi comandi più volte è una seccatura. Ho raccolto quei comandi (separati da nuove righe) nel file cmd. Ora posso fare cat cmd | interactiveper eseguire i comandi. Il problema è che una volta cmdletto completamente, interactivericeve EOF ed esce.

Quello che desidero fare è innanzitutto interactiveleggere dalla pipe (ovviamente interactive < cmdè anche accettabile) e quando si riceve EOF, iniziare invece a leggere dalla tastiera.

Risposte:


21

Basta chiedere catdi concatenare quel file con lo stdin:

cat cmd - | interactive

1
La soluzione sopra è probabilmente ottimale. Se stai utilizzando un desktop GUI, dai anche un'occhiata a AutoKey. Ti consentirà di creare macro che possono fare quasi tutto ciò che puoi fare da una tastiera. Diventa un po 'complicato se devi aspettare che succeda qualcosa o devi ottenere dati dallo schermo, ma se conosci Python (la lingua in cui sono codificate le macro), il cielo è il limite.
Joe,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.