Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

I am working on a simple bash script that configures new servers how I want them. It's nothing special but it will hopefully save me quite a lot of time in the future.

How do I prevent prompts like this:

  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

When running commands like this from a script:

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

Is there an auto accept flag that I can set or something like that?

share|improve this question

2 Answers 2

up vote 6 down vote accepted

add-apt-repository has a -y flag you can use, which should do the trick.

Though I really want to suggest that you look at configuration management systems like puppet or chef to configure servers. They'll save you a lot of time!

share|improve this answer
    
Perfect, thank you. I am going to look into both and see if I can get my head around them. Thanks again! –  dannymcc Feb 3 '13 at 11:51

It's probably worth noting that this is what yes was written for. It by default prints a y repeatedly, but yes <string> will just repeat "string" instead.

If you're presented with a bunch of responses like:

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

You can do something like:

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

To automatically put an enter at every prompt. Given that apt-add-repository has a -y option, you should use that, but if you ever encounter a script that doesn't have that option, you can use yes.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.