Кто-нибудь знает, как проверить, что PPA уже добавлен в мою систему, прежде чем я добавлю его с помощью команды add-apt-repository
в shell script
.
Это было бы очень полезно.
Спасибо.
Вы можете сделать что-то вроде этого:
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
Примечания:
grep
успешно завершится, если найдет совпадение !
это отменяет, поэтому команды будут выполняться, если не найдено совпадений = ppa не добавлено -q
делает grep
тихим , поэтому он не печатает совпадающие линий. Это был бы просто шум, нам нужно только знать, есть ли совпадение или нет, для которого код выхода идеален ^deb .*
должен убедиться, что совпадающая строка начинается с deb
, исключить закомментированные строки Откройте свой терминал и введите эту команду
grep ^ /etc/apt/sources.list /etc/apt/sources.list.d/* | grep fogger
замените fogger на имя PPA.
Удаление файлов list.save, исходников, убедитесь, что только строки deb и считайте их для «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