Cela ne fonctionne pas parce que l'auteur du script original (vous pouvez le regarder, c'est un script Python) n'a pas pensé que cela pourrait être utile.
La raison en est peut-être que l'ajout d'un dépôt est une chose qui Il est préférable de procéder lentement . Vous devriez vérifier la signature par exemple --- et vous assurer que vous le voulez vraiment.
Il s'agit donc essentiellement d'une décision de conception. Vous pourriez probablement facilement modifier le script si vous le souhaitez, ou répéter la commande sur la ligne de commande...
for i in ppa:noobslab/malys-themes ppa:alecive/antigone ppa:nitrux/nitrux-artwork ppa:upubuntu-com/themes; do sudo add-apt-repository $i; done
(est-ce un script ou non ? Une rose est une rose sous un autre nom).
Ne faites pas cela mais... unix est réputé pour laisser les utilisateurs se tirer une balle dans le pied, alors...
Si vous voulez vraiment que votre "multiple add-apt-repository"(1) fonctionne, faites ceci :
1) trouver où se trouve add-apt-repository.
(0)samsung-romano:~% which add-apt-repository
/usr/bin/apt-add-repository
2) le renommer
(0)samsung-romano:~% sudo mv /usr/bin/add-apt-repository /usr/bin/add-apt-repository.real
3) le remplacer par un simple script :
(0)samsung-romano:~% sudo gedit /usr/bin/add-apt-repository
avec le contenu :
#! /bin/bash
#
for i in "$@"; do
/usr/bin/add-apt-repository.real "$i"
done
4) le rendre exécutable :
(0)samsung-romano:~% chmod a+rx /usr/bin/add-apt-repository
5) et vous pouvez maintenant utiliser votre commande :
(0)samsung-romano:~% sudo add-apt-repository ppa:noobslab/malys-themes ppa:alecive/antigone ppa:nitrux/nitrux-artwork ppa:upubuntu-com/themes
Pourquoi ne pas le faire ? Parce que la prochaine fois, il y aura une mise à jour du paquet qui contient l'original. apt-add-repository
Des problèmes surgiront. Comme l'écrasement de votre script ou (pire) l'absence de mise à jour du paquet.
Il est en effet préférable de ne pas toucher au programme système et de placer simplement le script dans votre ~/bin
avec un autre nom, comme my_aptadd
. Vous êtes maintenant en sécurité et heureux.
Ou si vous aimez vraiment le nom original, vous pouvez créer un répertoire dans votre dossier personnel du type ~/override
ajoutez-le à votre PATH dans .profile
(comme export PATH=$HOME/override:$PATH
), et enregistrer le script à cet endroit --- évidemment avec le chemin d'accès complet, original /usr/bin/add-apt-repository
afin d'éviter une boucle infinie. Vous le regretterez ensuite lorsque quelqu'un y déposera un fichier appelé "ls" avec le contenu suivant exe rm $*
(2), mais bon...
Alors pourquoi l'ai-je écrit ici ? Car il s'agit d'une technique très utile pour "réparer" des programmes qui, autrement, ne fonctionneraient pas. Par exemple, je l'utilise pour ajouter des variables d'environnement à des programmes qui, autrement, se comporteraient mal, et qui sont appelés par d'autres programmes que je ne peux ou ne veux pas modifier.
Notes de bas de page :
(1) Je ne l'avais jamais remarqué auparavant, mais dans mon système, il existe même apt-add-repository
qui est un lien symbolique vers add-apt-repository
. Je peux comprendre pourquoi, mais c'est un appel au désordre en attente...
(2) c'est une erreur. C'est fait exprès.