Enviando a tecla {Return} em um arquivo de script? [duplicado]

1

Como posso enviar a chave Return em um arquivo de script? Estou instalando todos os PPAs de um script e, embora funcione, atualmente, a adição de cada PPA exige a entrada do usuário do retorno de carro.

#!/bin/bash
add-apt-repository ppa:yannubuntu/boot-repair

add-apt-repository ppa:libreoffice/libreoffice-5-1
    
por ineuw 24.03.2016 / 18:40

2 respostas

1

Neste caso específico, você deseja que o sinalizador -y seja adicionado. De man add-apt-repository :

  

-y, --yes Suponha que sim para todas as consultas

    
por Sergiy Kolodyazhnyy 24.03.2016 / 18:50
0

O comentário de kos está correto, isso é mais ou menos respondido em Auto confirmar quando executar scripts bash .

Serg tem a ideia certa de esquecer de passar um retorno de carro e apenas passar -y para add-apt-repository. Apenas use a resposta dele.

  

-y, --yes Suponha que sim para todas as consultas

Assim, o seu script ficaria assim;

#!/bin/bash
add-apt-repository -y ppa:yannubuntu/boot-repair

add-apt-repository -y ppa:libreoffice/libreoffice-5-1

Retornos de carro da Shell

Só para esclarecer como enviar um retorno de carro de um script, existem muitas opções.

Você pode usar o comando yes que foi criado para gerar saída junto com uma nova linha ou um argumento opcional com nova linha. Assim, sim sem argumento é um retorno de carro. Você pode passar um retorno de carro em um script com os comandos do seu exemplo;

#!/bin/bash
yes '' | add-apt-repository ppa:yannubuntu/boot-repair

yes '' | add-apt-repository ppa:libreoffice/libreoffice-5-1

Acho que o eco também funcionaria se estivesse passando uma nova linha, novamente a partir do seu exemplo;

#!/bin/bash
echo | add-apt-repository ppa:yannubuntu/boot-repair

echo | add-apt-repository ppa:libreoffice/libreoffice-5-1

Ou para variações mais complicadas, você pode usar espera até mesmo.

    
por krondor 24.03.2016 / 19:13