Não funciona porque quem escreveu o script original (você pode ver, é um script python) não achou que isso pudesse ser útil.
O raciocínio pode ser que adicionar um repositório é algo que é melhor feito lentamente . Você deve verificar a assinatura, por exemplo --- e verifique se você realmente quer.
Portanto, é basicamente uma decisão de design. Você provavelmente poderia modificar facilmente o script se quisesse, ou repetindo o comando na linha de comando ...
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
(isso é um roteiro ou não? Uma rosa é uma rosa com outro nome?)
Não faça isso , mas ... unix é famoso por deixar o usuário atirar no próprio pé, então ...
Se você realmente quer que seu trabalho "multiple add-apt-repository" (1), faça isso:
1) encontre onde add-apt-repository é.
(0)samsung-romano:~% which add-apt-repository
/usr/bin/apt-add-repository
2) renomeie-o
(0)samsung-romano:~% sudo mv /usr/bin/add-apt-repository /usr/bin/add-apt-repository.real
3) substitua-o por um script simples:
(0)samsung-romano:~% sudo gedit /usr/bin/add-apt-repository
com o conteúdo:
#! /bin/bash
#
for i in "$@"; do
/usr/bin/add-apt-repository.real "$i"
done
4) torná-lo executável:
(0)samsung-romano:~% chmod a+rx /usr/bin/add-apt-repository
5) e agora você pode usar o seu comando:
(0)samsung-romano:~% sudo add-apt-repository ppa:noobslab/malys-themes ppa:alecive/antigone ppa:nitrux/nitrux-artwork ppa:upubuntu-com/themes
Por que você não deve fazer isso? Porque da próxima vez haverá uma atualização para o pacote que contém o original apt-add-repository
, problemas irão surgir. Como ter seu script sobrescrito ou (pior) não ter o pacote atualizado.
Na verdade, é muito melhor evitar tocar no programa do sistema e simplesmente colocar o script no seu ~/bin
com outro nome, como my_aptadd
. Você está agora seguro e feliz.
Ou se você gosta muito do nome original, pode criar um diretório em sua pasta pessoal como ~/override
, pré-copiá-lo em seu PATH em .profile
(como export PATH=$HOME/override:$PATH
) e salvar o script lá - - obviamente com o caminho completo, original /usr/bin/add-apt-repository
para evitar um loop infinito. Você vai se arrepender quando alguém soltar um arquivo chamado "ls" com conteúdo exe rm $*
(2), mas hey ...
Então, por que eu escrevi aqui? Porque esta é realmente uma técnica útil para "consertar" programas que de outra forma não seriam executados. Por exemplo, eu tenho isso para adicionar variáveis de ambiente a programas que de outra forma se comportarão mal, e que são chamados por outros programas que eu não posso ou não modificarei.
Notas de rodapé :
(1) Eu nunca percebi antes, mas no meu sistema existe mesmo apt-add-repository
, que é um symlink para add-apt-repository
. Eu posso entender o porquê, mas é uma chamada para uma bagunça esperando para acontecer ...
(2) está errado. De propósito.