Saya telah membuat skrip bash yang sangat sederhana yang menjalankan beberapa perintah. salah satu dari perintah ini membutuhkan masukan pengguna selama runtime. yaitu menanyakan pengguna "apakah Anda ingin bla bla bla?", Saya hanya ingin mengirim tombol enter ke tombol ini sehingga skrip akan sepenuhnya otomatis.
Saya tidak perlu menunggu input atau apa pun selama runtime, itu cukup hanya mengirim penekanan tombol dan buffer input akan menangani sisanya.
apt-get
, solusi yang tepat adalah preseed database debconf dengan nilai pilihan Anda; maka itu tidak akan meminta Anda.Jawaban:
atau memanfaatkan baris baru implisit yang dihasilkan gema (terima kasih Marcin)
Sekarang kita cukup menggunakan
--sk
opsi:yaitu
sudo rkhunter --sk --checkall
sumber
xxd
Anda mendapatkan5c6e
hex, yang merupakan literal\n
. jika Anda melakukannya,echo | xxd
Anda akan mendapatkan hex0a
. Jadi saya kira gunakan mana saja yang dibutuhkan program Anda.0a0a
yang masih tidak sesuai keinginan, menambahkan sebuah-n
suppreses baris baru implisit. Tapi Anda tentu saja benar, sebuah dataranecho | ...
berfungsi dengan baik di sini. Akan memperbarui jawaban saya.5c6e
? Apakah Anda menghilangkan-e
atau apakah shell Anda atauecho
tidak memperlakukan opsi itu?echo -ne "\n" | xxd 0000000: 0a
danecho -n "\n" | xxd 0000000: 5c6e
danecho "\n" | xxd 0000000: 5c6e 0a
saya belum melihat perbedaan apa pun antara tanda kutip tunggal dan ganda. Shell saya hanyalah bash biasa, apakah ada pengaturan yang akan mengatur perilaku fungsionalitas dasar seperti itu?Anda mungkin menemukan
yes
perintah itu berguna.Lihat
man yes
sumber
yes
Saya merasa itu berguna.yes
dikirim sebagai outputnya. Baca halaman manual.Anda bisa menggunakan ya .
sumber
Berikut adalah contoh penggunaan menggunakan
expect
:Periksa:
man expect
untuk informasi lebih lanjut.sumber
Anda bisa memanfaatkan ekspektasi ( ekspektasi manusia disertai dengan contoh).
sumber