Auto confirm when running bash scripts?

18,203

Solution 1

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!

Solution 2

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:
18,203

Related videos on Youtube

dannymcc
Author by

dannymcc

Updated on September 18, 2022

Comments

  • dannymcc
    dannymcc almost 2 years

    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?

  • dannymcc
    dannymcc over 11 years
    Perfect, thank you. I am going to look into both and see if I can get my head around them. Thanks again!
  • Trong Tran
    Trong Tran almost 4 years
    -y is for bypass confirmation "yes/no", it is not for "Press [ENTER] to continue or ctrl-c to cancel adding it"
  • Trong Tran
    Trong Tran almost 4 years
    This is correct answer. Thanks @Erik