Tự động xác nhận khi chạy tập lệnh bash?


12

Tôi đang làm việc trên một tập lệnh bash đơn giản để cấu hình các máy chủ mới theo cách tôi muốn. Nó không có gì đặc biệt nhưng hy vọng nó sẽ giúp tôi tiết kiệm được khá nhiều thời gian trong tương lai.

Làm cách nào để ngăn chặn lời nhắc như thế này:

  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

Khi chạy các lệnh như thế này từ một tập lệnh:

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

Có một cờ chấp nhận tự động mà tôi có thể đặt hoặc một cái gì đó tương tự không?

Câu trả lời:


25

add-apt-repositorycó một -ycờ bạn có thể sử dụng, nên thực hiện thủ thuật.

Mặc dù tôi thực sự muốn đề nghị bạn xem các hệ thống quản lý cấu hình như con rối hoặc đầu bếp để cấu hình máy chủ. Họ sẽ tiết kiệm cho bạn rất nhiều thời gian!


Hoàn hảo, cảm ơn bạn. Tôi sẽ xem xét cả hai và xem liệu tôi có thể quay đầu lại với họ không. Cảm ơn một lần nữa!
dannymcc

14

Có lẽ đáng lưu ý rằng đây là những gì yesđã được viết cho. Theo mặc định, nó in yliên tục, nhưng yes <string>sẽ chỉ lặp lại "chuỗi" thay thế.

Nếu bạn được trình bày với một loạt các phản hồi như:

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

Bạn có thể làm một cái gì đó như:

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

Để tự động đặt một mục nhập tại mỗi dấu nhắc. Cho rằng apt-add-repository có một -ytùy chọn, bạn nên sử dụng tùy chọn đó, nhưng nếu bạn gặp phải một tập lệnh không có tùy chọn đó, bạn có thể sử dụng yes.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.