如何在 Bash 脚本中检查 PPA 是否已添加到 apt 源列表中

如何在 Bash 脚本中检查 PPA 是否已添加到 apt 源列表中

add-apt-repository有人知道在我使用命令添加 PPA 之前如何检查它是否已添加到我的系统中吗shell script

那将会非常有帮助。

谢谢。

答案1

你可以做这样的事情:

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,以排除注释掉的行

答案2

打开终端并输入此命令

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

用 PPA 名称替换雾化器。

在此处输入图片描述

答案3

删除 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

相关内容