Po to yesjest polecenie. W ynieskończoność wysyła po jednym w wierszu, dzięki czemu może być przesyłany do poleceń, które zadają pytania typu tak / nie.
yes | /opt/MNG/MNGVIEWHP/fe/uninstall
To odpowiedzi yna wszystkie pytania. Aby odpowiedzieć nna wszystkie pytania, wymieniać yessię yes n. Aby uzyskać predefiniowane połączenie yi n, możesz zastąpić yes:
printf '%s\n' y n n y y n...
Lub uruchom jako:
/opt/MNG/MNGVIEWHP/fe/uninstall << 'EOF'
y
n
n
y
y
n
EOF
Jeśli potrzebujesz, aby odpowiedź nie była dostępna do czytania przed 10 sekundami, wykonaj następujące czynności:
(sleep 10; echo y; sleep 2; echo n;...) | /opt/MNG/MNGVIEWHP/fe/uninstall
Ale prawdopodobnie nie byłoby to konieczne, kiedy piszemy yna fajce, będzie tam, uninstallaby ją przeczytać, kiedy tylko zechce ją przeczytać, jest mało prawdopodobne, że będziesz musiał poczekać, aż będzie gotowy do przeczytania. Wyjątkiem jest sytuacja, gdy uninstallzdecyduje się wyczyścić dane wejściowe przed zadaniem pytania.
Wszyscy zakładają, że uninstallpolecenie po prostu odczytuje każdą odpowiedź jako jeden wiersz danych wejściowych ze standardowego wejścia.
W przypadku bardziej złożonych przypadkach, gdy komenda czyta odpowiedź bezpośrednio z urządzenia tty lub gdzie trzeba odpowiedziach paszowych warunkowo (na przykład na podstawie tego co wyjść poleceń), to gdzie chcesz używać rzeczy jak expectlub zsh„s zpty.
Zwróć uwagę, że wiele programów interaktywnych może przejść w tryb nieinteraktywny po przekazaniu opcji. Możesz najpierw sprawdzić ich instrukcję, zanim włożysz zbyt dużo wysiłku w obejście problemu.
#! /bin/bash -zamiast#!/usr/bin