Я хочу написать сценарий оболочки, который добавит репозиторий apt.
Я знаю, что могу сделать это, используя sudo add-apt-repository -y <repo>
.
Мой вопрос, могу ли я сделать это, только если хранилище еще не было добавлено, что-то вроде:
if repo was not added yet:
sudo add-apt-repository -y <repo>
sudo apt-get update
Спасибо
Я изменил функцию Itay, чтобы она обрабатывала несколько параметров:
add_ppa() {
for i in "$@"; do
grep -h "^deb.*$i" /etc/apt/sources.list.d/* > /dev/null 2>&1
if [ $? -ne 0 ]
then
echo "Adding ppa:$i"
sudo add-apt-repository -y ppa:$i
else
echo "ppa:$i already exists"
fi
done
}
Чтобы называться так:
add_ppa webupd8team/atom xorg-edgers/ppa ubuntu-wine/ppa
В итоге я написал функцию для работы с репозиториями ppa.
add_ppa() {
grep -h "^deb.*$1" /etc/apt/sources.list.d/* > /dev/null 2>&1
if [ $? -ne 0 ]
then
echo "Adding ppa:$1"
sudo add-apt-repository -y ppa:$1
return 0
fi
echo "ppa:$1 already exists"
return 1
}
Интересно, есть ли более элегантный способ?
Теперь можно удалить хранилище до его добавления:
sudo add-apt-repository -r $REPO
sudo add-apt-repository $REPO