Відповіді:
Ви можете зробити щось подібне:
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
Примітки:
grep виходить із успіхом, якщо знайде відповідність!заперечує, тому команди виконуватимуться, якщо немає відповідності = ppa не додано-qПрапор робить grep тихо , так що не друкує збіглися рядки. Це був би лише шум, нам потрібно лише знати, чи є відповідність чи ні, для якої ідеальний код виходу^deb .*Префікс , щоб переконатися , що шукана стрічка починається з того deb, щоб виключити рядки, які закоментованіВідкрийте свій термінал і введіть цю команду
grep ^ /etc/apt/sources.list /etc/apt/sources.list.d/* | grep fogger
замініть фоггер назвою PPA.

Видаляючи список list.save файлів, джерел, забезпечте лише рядки дебюту і рахуйте їх за "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
debрядки, які коментуються, починаючи з # deb, і рядки з файлів на кшталт foo-ppa.list.distUpgrade- це призначено?