Odpowiedzi:
Możesz zrobić coś takiego:
the_ppa=... # e.g. the_ppa="ondrej/apache2"
if ! grep -q "^deb .*$the_ppa" /etc/apt/sources.list /etc/apt/sources.list.d/*; then
# commands to add the ppa ...
fi
Uwagi:
grep kończy się sukcesem, jeśli znajdzie dopasowanie!neguje tego, więc polecenia zostaną wykonane, jeśli nie ma odpowiednika = PPA nie dodano-qFlag sprawia, grep spokój , więc nie drukuje dopasowane linie. Byłby to tylko szum, musimy tylko wiedzieć, czy istnieje dopasowanie, czy nie, dla którego kod wyjścia jest idealny^deb .*Prefiks jest upewnienie się, dopasowana linia zaczyna się deb, aby wykluczyć, że linie są wykomentowaneOtwórz terminal i wpisz to polecenie
grep ^ /etc/apt/sources.list /etc/apt/sources.list.d/* | grep fogger
zamień zamgławiacz na nazwę PPA.

Usuwając pliki list.save, źródła, upewnij się, że tylko linie deb i policz je jako 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
debwiersze, które są komentowane, zaczynające się od # deb, oraz wiersze z plików takich jak foo-ppa.list.distUpgrade- czy to jest zamierzone?