Saya bekerja dengan instans Amazon Linux dan saya memiliki beberapa skrip untuk mengisi data dan menginstal semua program yang saya gunakan, tetapi beberapa program bertanya:
Do you want to continue [Y/n]?
dan jeda penginstalan. Saya ingin otomatis menjawab "Y" dalam semua kasus, sekarang saya yakin bagaimana melakukannya.
--noprompt
atau--noconfirm
yang dapat Anda gunakan.Jawaban:
Perintah 'ya' akan menggema 'y' (atau apa pun yang Anda minta) tanpa batas. Gunakan sebagai:
atau, jika huruf kapital 'Y' diperlukan:
sumber
yes
karena diketahui memaksimalkan CPU. stackoverflow.com/a/18164007/720665-y
untuk skrip bash itu SULIT./dev/null
atau STDOUT. Disalurkan ke sebuah perintah, itu hanya akan menulis satu baris ke pipa setiap kali perintah penerima membaca satu, dan akan menunggu sebaliknya.echo y | command
harus bekerja.Selain itu, beberapa penginstal memiliki tanda "ya otomatis". Ini
-y
untukapt-get
di Ubuntu.sumber
-f
(--force
) flag yang berfungsi sebagai "auto-yes" untuk perintah yang menghapus sesuatuAnda mungkin tidak memiliki kemampuan untuk menginstal Expect di server target. Ini sering terjadi ketika seseorang menulis, katakanlah, pekerjaan Jenkins.
Jika demikian, saya akan mempertimbangkan sesuatu seperti jawaban berikut ini di askubuntu.com:
/ubuntu/338857/automatically-enter-input-in-command-line
Perhatikan bahwa dalam beberapa kasus yang jarang terjadi, perintah tidak mengharuskan pengguna untuk menekan enter setelah karakter. dalam hal ini tinggalkan baris baru:
Demi kelengkapan Anda juga bisa menggunakan dokumen di sini:
Atau jika shell Anda mendukungnya, string di sini:
Atau Anda dapat membuat file dengan satu input per baris:
Sekali lagi, semua kredit untuk jawaban ini diberikan kepada penulis jawaban di askubuntu.com , lesmana.
sumber
Meskipun ini mungkin lebih rumit / lebih berat daripada yang Anda inginkan, satu cara yang sangat fleksibel untuk melakukannya adalah menggunakan sesuatu seperti Expect (atau salah satu turunannya dalam bahasa pemrograman lain).
Expect adalah bahasa yang dirancang khusus untuk mengontrol aplikasi berbasis teks, persis seperti yang ingin Anda lakukan. Jika Anda akhirnya perlu melakukan sesuatu yang lebih rumit (seperti dengan logika untuk benar-benar memutuskan apa yang harus dilakukan / menjawab selanjutnya), Harapkan adalah cara yang tepat.
sumber
Anda hanya perlu meletakkannya
-y
dengan perintah install.Sebagai contoh:
yum install <package_to_install> -y
sumber
Jika Anda hanya ingin menerima default, Anda dapat menggunakan:
sumber
bash
,sh
dan kebanyakan sistem, yang saya tahu, Anda perluecho
yang\n
jika tidak maka tidak akan pipa ke perintah berikutnya.