Existe uma maneira de forçar “Yes” para qualquer prompt ao instalar a partir do apt-get (a partir de um script bash)?

8

Eu estou tentando fazer um script bash que automatiza a instalação de vários pacotes que eu uso em qualquer máquina ubuntu que eu uso. Eu frequentemente crio máquinas virtuais através do Amazon AWS ou do Digital Ocean e gostaria de apenas executar um script para instalar os pacotes que eu uso.

Alguns dos pacotes que eu gostaria de instalar são Emacs e Node.js

A maneira normal de instalá-los seria executar apt-get install Emacs e, enquanto isso, sempre recebo um aviso sobre quanto espaço esse aplicativo ocupará e se tenho certeza de que quero continuar.

Existe uma maneira de automatizar este processo, a partir de um script, e sempre dizer "sim" para esses prompts?

    
por Startec 31.07.2016 / 01:45

2 respostas

25

Da seção OPTIONS de man apt-get

-y, --yes, --assume-yes
    Automatic yes to prompts; assume "yes" as answer to all prompts and
    run non-interactively. If an undesirable situation, such as
    changing a held package, trying to install a unauthenticated
    package or removing an essential package occurs then apt-get will
    abort. Configuration Item: APT::Get::Assume-Yes.
    
por steeldriver 31.07.2016 / 01:54
2

Existe um comando unix chamado

  

sim

Sem opções, ele exibe a string "y" repetidamente até ser eliminado.

Para usá-lo, simplesmente canalize o resultado para o comando onde você precisa das confirmações:

yes | apt-get install ...

Leia mais nas páginas man do Unix ou na postagem SO O comando "sim" .

    
por WeSee 31.07.2016 / 18:50