Birisi bir add-apt-repositorykomutla eklemeden önce sistemime zaten bir PPA eklenip eklenmediğini nasıl kontrol edeceğini biliyor mu shell script.
Çok yardımı dokunur.
Teşekkür ederim.
Birisi bir add-apt-repositorykomutla eklemeden önce sistemime zaten bir PPA eklenip eklenmediğini nasıl kontrol edeceğini biliyor mu shell script.
Çok yardımı dokunur.
Teşekkür ederim.
Yanıtlar:
Bunun gibi bir şey yapabilirsiniz:
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
Notlar:
grep bir eşleşme bulursa başarıyla çıkar!reddeder, bu yüzden eşleşme yoksa komutlar yürütülür = ppa eklenmez-qBayrak yapan grep sessiz o eşleşti hatları yazdırmayacağı şekilde. Sadece gürültü olurdu, sadece bir eşleşme olup olmadığını bilmeliyiz, bunun için çıkış kodu mükemmel^deb .*Önek emin eşleşti çizgi ile başlar yapmaktır deb, yorum haline çizgileri dışlamak içinTerminalinizi açın ve bu komutu yazın
grep ^ /etc/apt/sources.list /etc/apt/sources.list.d/* | grep fogger
sisleyiciyi PPA adıyla değiştirin.

List.save dosyaları, kaynakları kaldırmak, sadece deb satırları sağlamak ve "sisleme" ppa için saymak:
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
debyorum yapılan, ile başlayan # debsatırları ve dosyalardan gelen satırları bulur foo-ppa.list.distUpgrade- bu amaçlanıyor mu?