Respuestas:
Puedes hacer algo como esto:
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
Notas:
grep
sale con éxito si encuentra una coincidencia!
niega esto, por lo que los comandos se ejecutarán si no hay coincidencia = ppa no agregado-q
bandera se grep
silencia , por lo que no imprime las líneas coincidentes. Sería solo ruido, solo necesitamos saber si hay una coincidencia o no, para lo cual el código de salida es perfecto^deb .*
prefijo es asegurarse de que la línea coincida comience deb
, para excluir las líneas que están comentadasAbre tu terminal y escribe este comando
grep ^ /etc/apt/sources.list /etc/apt/sources.list.d/* | grep fogger
reemplace el nebulizador con el nombre de PPA.
Eliminando archivos list.save, fuentes, asegúrese solo de líneas deb y cuente para ppa "fogger":
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
líneas que están comentadas, comenzando con # deb
, y líneas de archivos como foo-ppa.list.distUpgrade
: ¿está destinado?