come verificare se PPA è già stato aggiunto all'elenco delle fonti apt in uno script bash

8

Qualcuno sa come verificare se un PPA è già stato aggiunto al mio sistema prima di aggiungerlo con il comando add-apt-repository in un shell script .

Sarebbe molto utile.

Grazie.

    
posta Josh 23.11.2013 - 12:31

3 risposte

6

Puoi fare qualcosa di simile:

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

Note:

  • grep termina con successo se trova una corrispondenza
  • Il ! lo nega, quindi i comandi verranno eseguiti se non c'è corrispondenza = ppa non aggiunto
  • Il flag -q rende grep calmo , quindi non stampa le righe corrispondenti. Sarebbe solo rumore, dobbiamo solo sapere se c'è una corrispondenza o meno, per cui il codice di uscita è perfetto
  • Il prefisso ^deb .* serve per assicurarti che la linea con corrispondenza inizi con deb , per escludere le righe che sono commentate
risposta data janos 15.12.2014 - 12:17
2

Apri il tuo terminale e digita questo comando

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

sostituire il fogger con il nome PPA.

    
risposta data Ten-Coin 23.11.2013 - 12:49
0

Rimuovendo list.save file, fonti, assicurati solo le righe deb e contale per ppa "fogger":

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
    
risposta data Bellera 15.12.2014 - 09:40

Leggi altre domande sui tag