Untuk itulah yesperintah itu. Ini menghasilkan ysatu per baris tanpa batas sehingga dapat disalurkan ke perintah yang menanyakan pertanyaan ya / tidak.
yes | /opt/MNG/MNGVIEWHP/fe/uninstall
Itu menjawab ysemua pertanyaan. Untuk menjawab nsemua pertanyaan, ganti yesdengan yes n. Untuk campuran ydan n, Anda dapat mengganti yesdengan:
printf '%s\n' y n n y y n...
Atau jalankan sebagai:
/opt/MNG/MNGVIEWHP/fe/uninstall << 'EOF'
y
n
n
y
y
n
EOF
Jika Anda perlu jawaban tidak tersedia untuk dibaca sebelum 10 detik, Anda akan melakukannya:
(sleep 10; echo y; sleep 2; echo n;...) | /opt/MNG/MNGVIEWHP/fe/uninstall
Tapi itu mungkin tidak perlu, ketika kita menulis yke pipa, itu akan ada di sana untuk uninstallmembacanya kapan pun dia ingin membacanya, tidak mungkin Anda harus menunggu sampai siap untuk membacanya. Pengecualiannya adalah jika uninstallmemutuskan untuk menyiram input sebelum mengajukan pertanyaan.
Semua orang menganggap uninstallperintah hanya membaca setiap jawaban sebagai satu baris input dari input standarnya.
Untuk kasus yang lebih kompleks, di mana perintah membaca jawaban langsung dari perangkat tty atau di mana Anda perlu jawaban pakan kondisional (misalnya berdasarkan apa output perintah), yang mana Anda akan menggunakan hal-hal seperti expectatau zsh's zpty.
Perhatikan bahwa banyak program interaktif dapat memasuki beberapa mode non-interaktif ketika melewati beberapa opsi. Anda mungkin ingin memeriksa manualnya terlebih dahulu, sebelum menghabiskan terlalu banyak upaya untuk menyelesaikan masalah.
#! /bin/bash -bukannya#!/usr/bin