Untuk itulah yes
perintah itu. Ini menghasilkan y
satu per baris tanpa batas sehingga dapat disalurkan ke perintah yang menanyakan pertanyaan ya / tidak.
yes | /opt/MNG/MNGVIEWHP/fe/uninstall
Itu menjawab y
semua pertanyaan. Untuk menjawab n
semua pertanyaan, ganti yes
dengan yes n
. Untuk campuran y
dan n
, Anda dapat mengganti yes
dengan:
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 y
ke pipa, itu akan ada di sana untuk uninstall
membacanya kapan pun dia ingin membacanya, tidak mungkin Anda harus menunggu sampai siap untuk membacanya. Pengecualiannya adalah jika uninstall
memutuskan untuk menyiram input sebelum mengajukan pertanyaan.
Semua orang menganggap uninstall
perintah 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 expect
atau 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