Mam skrypt bash, który wykorzystuje read
polecenie do interaktywnego odczytywania argumentów poleceń, na przykład opcji tak / nie. Czy istnieje sposób wywołania tego skryptu w skrypcie nieinteraktywnym, przekazując domyślne wartości opcji jako argumenty?
To nie jest tylko jedna opcja, którą muszę przekazać do interaktywnego skryptu.
bash
interactive
non-interactive
sidharth sharma
źródło
źródło
Odpowiedzi:
W przypadku bardziej złożonych zadań jest
expect
( http://en.wikipedia.org/wiki/Expect ). Zasadniczo symuluje użytkownika, możesz zakodować skrypt, jak reagować na określone wyniki programu i powiązane rzeczy.Działa to również w takich przypadkach, w których
ssh
zabronione jest przesyłanie do niego haseł.źródło
Wiele sposobów
potwierdź swoje dane wejściowe
przekierowanie z pliku
użyj dokumentu tutaj (może być bardzo czytelny)
użyj ciągu tutaj
źródło
read
do pobrania stdin, jakiej funkcji możesz użyć do tego, co opisałeś?Możesz umieścić dane w pliku i przekierować je w następujący sposób:
Dane do skryptu:
Wykonanie skryptu:
źródło
Chcę tylko dodać jeszcze jeden sposób. Znalazłem go gdzie indziej i jest dość proste. Powiedzmy, że chcę przekazać tak dla wszystkich podpowiedzi w wierszu poleceń dla polecenia „execute_command”, a następnie po prostu potokowałbym tak.
Spowoduje to użycie tak jako odpowiedzi na wszystkie pytania tak / nie.
źródło
Możesz także użyć printf, aby przesłać dane wejściowe do skryptu.
źródło
może być inna alternatywa
Polecenie tee drukuje na ekranie otrzymane dane wejściowe i jednocześnie zapisuje je w pliku.
źródło