Ho un programma (che non ho scritto) che non è progettato per leggere i comandi da un file. Immettere comandi su STDIN è piuttosto noioso, quindi mi piacerebbe essere in grado di automatizzarlo scrivendo i comandi in un file per riutilizzarli. Il problema è che, se il programma raggiunge EOF, il ciclo si interrompe all'infinito cercando di leggere nel prossimo comando lasciando cadere un infinito torrent di opzioni di menu sullo schermo.Passa dal contenuto del file a STDIN nel comando pipe? (Linux Shell)
Quello che mi piacerebbe essere in grado di fare è cat un file contenente i comandi nel programma tramite una pipe, quindi utilizzare una sorta di shell magica per farlo passare dal file a STDIN quando colpisce EOF del file .
Nota: ho già considerato l'utilizzo di cat con '-' per STDIN. Sfortunatamente (non lo sapevo prima), i comandi di piping attendono che l'uscita del primo programma si interrompa prima di avviare il secondo programma - non vengono eseguiti in parallelo. Se c'è un modo per far funzionare i programmi in parallelo con quel tipo di azione di piping, funzionerebbe!
Qualche idea? Grazie per l'assistenza!
EDIT:
Vorrei sottolineare che il mio obiettivo non è solo per evitare che il sistema da colpire la fine del file comandi. Mi piacerebbe poter continuare a digitare i comandi dalla tastiera quando il file raggiunge EOF.
È possibile * farlo? * Non avevo idea che potessi raggruppare i comandi. Questo è il mio qualcosa di nuovo per il giorno. Questo mi impedisce di dover usare una seconda finestra - grazie molto, Idelic! – zslayton
Per coloro che sono interessati, puoi creare il file contenente i comandi mentre usi: (cat your_file_with_commands; tee -a your_file_with_commands) | sh your_script che aggiungerà ogni comando al file oltre a passarlo allo script tramite la pipe. – zslayton
+1 Questo mi ha aiutato su level1 del warname di narnia su intruded.net – chmeee