Mam program (którego nie napisałem), który nie został zaprojektowany do odczytu poleceń z pliku. Wprowadzanie poleceń na STDIN jest dość uciążliwe, więc chciałbym móc je zautomatyzować, pisząc polecenia w pliku do ponownego użycia. Problem polega na tym, że jeśli program trafi na EOF, pętle będą w nieskończoność próbowały odczytać w następnym poleceniu upuszczając niekończący się torrent opcji menu na ekranie.Przejście z zawartości pliku na STDIN w poleceniu piped? (Linux Shell)
Co mogę zrobić, to przygotować plik zawierający polecenia do programu za pomocą potoku, a następnie użyć jakiejś magii powłoki, aby przełączyć z pliku na STDIN, gdy trafi w plik EOF .
Uwaga: Rozważałem już użycie kota z "-" dla STDIN. Niestety (wcześniej o tym nie wiedziałem), polecenia potokowe czekają, aż wyjście pierwszego programu zakończy się przed uruchomieniem drugiego programu - nie działają równolegle. Jeśli istnieje sposób, aby uruchomić programy równolegle z tego typu działaniem, to by zadziałało!
Jakieś myśli? Dzięki za pomoc!
EDIT:
Należy zauważyć, że moim celem jest nie tylko do ochrony systemu przed uderzanie końca pliku poleceń. Chciałbym móc kontynuować pisanie poleceń z klawiatury, gdy plik trafi EOF.
Możesz * to zrobić? * Nie miałem pojęcia, że możesz grupować polecenia. To jest coś nowego w tym dniu. Dzięki temu nie muszę korzystać z drugiego okna - wielkie dzięki, Idelic! – zslayton
Dla zainteresowanych, możesz zbudować plik zawierający polecenia w trakcie: (cat twój_plik_z_przestrzeniami, tee-twój_plik_z_przeczytaniami) | sh your_script, który dołącza każde polecenie do pliku oprócz przekazania go skryptowi za pośrednictwem potoku. – zslayton
+1 Pomogło mi to na poziomie 1 gry wojennej narnia na intruded.net – chmeee