Konfirmasikan otomatis saat menjalankan skrip bash?

12

Saya sedang mengerjakan skrip bash sederhana yang mengonfigurasi server baru seperti yang saya inginkan. Tidak ada yang istimewa tapi mudah-mudahan akan menyelamatkan saya cukup banyak waktu di masa depan.

Bagaimana saya mencegah prompt seperti ini:

  You are about to add the following PPA to your system:
    Stable version of nginx.
    More info: https://launchpad.net/~nginx/+archive/stable
  Press [ENTER] to continue or ctrl-c to cancel adding it

Saat menjalankan perintah seperti ini dari skrip:

  sudo add-apt-repository ppa:nginx/stable 
  sudo apt-get update
  sudo apt-get -y install nginx

Apakah ada tanda terima otomatis yang dapat saya atur atau semacamnya?

dannymcc
sumber

Jawaban:

25

add-apt-repositorymemiliki -ybendera yang dapat Anda gunakan, yang seharusnya melakukan trik.

Meskipun saya benar-benar ingin menyarankan agar Anda melihat sistem manajemen konfigurasi seperti boneka atau koki untuk mengkonfigurasi server. Mereka akan menghemat banyak waktu!

Dennis Kaarsemaker
sumber
Sempurna, terima kasih. Saya akan melihat keduanya dan melihat apakah saya bisa mendapatkan kepala saya di sekitar mereka. Terima kasih lagi!
dannymcc
14

Mungkin perlu dicatat bahwa ini adalah apa yesyang ditulis untuk. Ini secara default mencetak yberulang kali, tetapi yes <string>hanya akan mengulangi "string" sebagai gantinya.

Jika Anda disajikan dengan banyak tanggapan seperti:

Press [ENTER] to continue or ctrl-c to cancel adding it

Anda dapat melakukan sesuatu seperti:

yes '' | sudo add-apt-repository ppa:nginx/stable

Untuk secara otomatis memasukkan enter pada setiap prompt. Mengingat apt-add-repositori memiliki -yopsi, Anda harus menggunakannya, tetapi jika Anda pernah menemukan skrip yang tidak memiliki opsi itu, Anda dapat menggunakannya yes.

Erik
sumber