
Exemplo: Assim que o add-apt-repository
processo terminar, execute imediatamente apt-get update
- sem precisar inserir o comando manualmente.
Existe uma maneira de fazer isso? É possível definir tal combinação sem o uso da sudo
senha? (embora eu não me importe de qualquer maneira)
Estou perguntando o seguinte:Como posso vincular dois comandos, de modo que sempre que eu executar um comando específico, elesempreexecuta o comando vinculado depois dele?
Responder1
Como normalmente,
sudo bash -c "command1; command2"
Se quiser executar o comando2 somente após a conclusão bem-sucedida do comando1, você poderá usar as &&
em vez de ;
.
sudo bash -c "command1 && command2"
Usarei o seguinte comando para seu exemplo.
sudo bash -c "add-apt-repository <repo> && apt-get update"
Responder2
Existem vários problemas relacionados a isso com um alias ou uma função bash simples, mas você pode escrever um pequeno wrapper para um comando e inseri-lo no /usr/local/bin
que tem prioridade em seu caminho.
Isto é umpequeno truque para criar um script e chmod ao mesmo tempo.
Ele despejará um script wrapper executável no formato /usr/local/bin/add-apt-repository
.
sudo install -b -m 755 /dev/stdin /usr/local/bin/add-apt-repository << 'EOF'
#!/bin/sh
/usr/bin/add-apt-repository "$@"
apt-get update
EOF
Para reverter isso, basta excluir /usr/local/bin/add-apt-repository
.
Se você quiser fazer algo mais frutífero (como vincular apt-get install
e apt-get update
sempre atualizar antes de instalar), só precisamos expandir o script para ver os argumentos.
sudo install -b -m 755 /dev/stdin /usr/local/bin/apt-get << 'EOF'
#!/bin/sh
if [ "$1" = "install" ] ; then
/usr/bin/apt-get update
fi
/usr/bin/apt-get "$@"
EOF
Embora considere que isso executará uma atualização antestodo apt-get install
chamar. Isso pode parecer útil, mas pode ser muito tedioso na prática.
Responder3
Para executar certos comandos em uma sequência específica, é usado script de shell. Tudo que você precisa fazer é - Abra o terminal pressionando Ctrl+ Alt+ T
E siga os passos -
1. Digite gedit filename.sh
2. Após inserir este comando, um editor de texto será aberto, onde você poderá digitar os comandos necessários, um em cada linha. Por exemplo,sudo add-apt-repository
apt-get update
3. Depois de digitar todos os comandos, salve e saia usando a GUI ou pressione Ctrl+ Se Ctrl+ Q.
4. Agora você retornará ao terminal. Execute sh filename.sh
no terminal e seus comandos serão executados, desde que não haja erros em seus comandos.
Além disso, se você fizer login a partir de uma conta de superusuário (root), não precisará digitar sudo
seu comando.
Responder4
A maneira mais fácil de fazer isso é executar:
sudo add-apt-repository <ppa_name> && sudo apt-get update
Se o primeiro comando for concluído com sucesso, o segundo será executado.