como verificar se o PPA já está adicionado à lista de fontes apt em um script bash

8

Alguém sabe como verificar se um PPA já foi adicionado ao meu sistema antes de adicioná-lo com o comando add-apt-repository em shell script .

Isso seria muito útil.

Obrigado.

    
por Josh 23.11.2013 / 12:31

3 respostas

5

Você pode fazer algo assim:

the_ppa=...  # set appropriately

if ! grep -q "^deb .*$the_ppa" /etc/apt/sources.list /etc/apt/sources.list.d/*; then
    # commands to add the ppa ...
fi

Notas:

  • grep sai com sucesso se encontrar uma correspondência
  • O ! nega isso, então os comandos serão executados se não houver correspondência = ppa não foi adicionado
  • O -q flag torna grep quiet , portanto, não imprime as linhas correspondentes. Seria apenas ruído, só precisamos saber se há uma correspondência ou não, para o qual o código de saída é perfeito
  • O prefixo ^deb .* serve para garantir que a linha correspondida comece com deb , para excluir as linhas comentadas
por janos 15.12.2014 / 12:17
2

Abra seu terminal e digite este comando

grep ^ /etc/apt/sources.list /etc/apt/sources.list.d/* | grep fogger

substitua o nebulizador pelo nome do PPA.

    
por Ten-Coin 23.11.2013 / 12:49
0

Removendo arquivos list.save, fontes, assegure apenas linhas deb e conte-as para "fogger" ppa:

ppa_added='grep ^ /etc/apt/sources.list /etc/apt/sources.list.d/* | grep -v list.save | grep -v deb-src | grep deb | grep fogger | wc -l'

echo $ppa_added
    
por Bellera 15.12.2014 / 09:40