как проверить, что PPA уже добавлен в список источников apt в скрипте bash

Кто-нибудь знает, как проверить, что PPA уже добавлен в мою систему, прежде чем я добавлю его с помощью команды add-apt-repository в shell script.

Это было бы очень полезно.

Спасибо.

9
задан 23 November 2013 в 15:49

3 ответа

Вы можете сделать что-то вроде этого:

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, исключить закомментированные строки
0
ответ дан 23 November 2013 в 15:49
  • 1
    Я просто считал you' ре на сервере также. личинка-costumizer использует графический интерфейс. Можно вручную войти в файлы личинки и изменить запись загрузки по умолчанию. Так направляются в grub.cfg (я полагаю, что это там), – Paludan 21 May 2015 в 16:36

Откройте свой терминал и введите эту команду

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

замените fogger на имя PPA.

enter image description here

0
ответ дан 23 November 2013 в 15:49
  • 1
    george, который сделал это.Большое спасибо. Я использовал Ubuntu больше 4 лет теперь (главным образом командная строка хотя), и никогда не знал, что существовал! Я смог загрузиться к последнему изображению после удаления драйвера с помощью .run файла, и переустановив через параметры настройки системы. Потрясающий Соус!!! – RodneyH 21 May 2015 в 18:52

Удаление файлов 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
0
ответ дан 23 November 2013 в 15:49
  • 1
    @RodneyH просто быстрая мысль... примите ответ, так как это корректно – General Redneck 10 December 2015 в 05:40

Другие вопросы по тегам:

Похожие вопросы: