Đó là những gì yeslệnh dành cho. Nó xuất ra ymột dòng trên mỗi dòng vô thời hạn để có thể chuyển sang các lệnh hỏi có / không có câu hỏi.
yes | /opt/MNG/MNGVIEWHP/fe/uninstall
Đó là câu trả lời ycho tất cả các câu hỏi. Để trả lời ncho tất cả các câu hỏi, thay thế yesbằng yes n. Đối với hỗn hợp được xác định trước yvà n, bạn có thể thay thế yesbằng:
printf '%s\n' y n n y y n...
Hoặc chạy nó dưới dạng:
/opt/MNG/MNGVIEWHP/fe/uninstall << 'EOF'
y
n
n
y
y
n
EOF
Nếu bạn cần câu trả lời không có sẵn để đọc trước 10 giây, bạn sẽ làm:
(sleep 10; echo y; sleep 2; echo n;...) | /opt/MNG/MNGVIEWHP/fe/uninstall
Nhưng điều đó có lẽ không cần thiết, khi chúng ta viết ylên đường ống, nó sẽ ở đó uninstallđể đọc nó bất cứ khi nào nó muốn đọc nó, không chắc bạn cần phải chờ nó sẵn sàng để đọc nó. Ngoại lệ sẽ là nếu uninstallquyết định tuôn ra đầu vào trước khi đặt câu hỏi.
Tất cả những người giả sử uninstalllệnh chỉ đọc mỗi câu trả lời là một dòng đầu vào từ đầu vào tiêu chuẩn của nó.
Đối với trường hợp phức tạp hơn, nơi mà các lệnh đọc các câu trả lời trực tiếp từ các thiết bị tty hoặc nơi bạn cần đến thức ăn chăn nuôi câu trả lời có điều kiện (ví dụ dựa trên những gì các kết quả đầu ra lệnh), đó là nơi mà bạn muốn sử dụng những thứ như expecthay zsh's zpty.
Lưu ý rằng nhiều chương trình tương tác có thể vào một số chế độ không tương tác khi được thông qua một số tùy chọn. Bạn có thể muốn kiểm tra hướng dẫn của họ trước, trước khi dành quá nhiều nỗ lực để giải quyết vấn đề.
#! /bin/bash -thay vì#!/usr/bin