O concatenador && parou de funcionar ao executar “sudo aptitude update && sudo aptitude upgrade”. Por que isso está acontecendo?

0

Problemas com & amp; & amp; concatenador. Parou de concatenar.

eu corri:

sudo add-apt-repository ppa:igorgomes/ppa
sudo aptitude update

O comando aptitude update começou a gerar um erro de saída na tela (que eu não lembrei de gravar) e desde então a seqüência sudo aptitude update && sudo aptitude upgrade parou de funcionar. Em concreto, o primeiro comando foi executado, mas o segundo não.

Eu poderia consertá-lo removendo os arquivos apropriados na pasta "/etc/apt/sources.list.d" para que o comando aptitude update esteja funcionando bem novamente, e assim, a combinação sudo aptitude update && sudo aptitude upgrade 'está funcionando againt também.

O problema foi resolvido, mas estou realmente curioso - por que isso aconteceu? Não é a primeira vez que o concatenador & amp; & amp; pára de trabalhar para mim e eu nunca descobri qual é a lógica por trás disso. ¿Aconteceu com alguém que pudesse descobrir o motivo?

Obrigado antecipadamente

pulchras

    
por rogerparanoia 02.05.2013 / 18:06

1 resposta

2

Acabei de receber a resposta certa ao aprender sobre um assunto diferente, então responderei a mim mesmo.

O & amp; & amp; implica que o segundo comando só é executado se o primeiro for executado com sucesso. Se o primeiro comando gerar um erro (que significa saída 1), o concatenador não passará a ação para o próximo comando na sequência.

Tenha em mente que não importa se você vê o erro na saída da tela (em primeiro plano) ou não pode ver através da saída da tela (plano de fundo). Quando é a segunda situação, o erro está sendo lançado contra o interpretador de shell, mesmo que você não esteja percebendo isso.

Para verificar se um comando retorna um erro. Apenas execute esse comando sozinho e, depois disso, execute echo $? . Se ele retorna 1, o comando está falhando e você tem que descobrir o que está errado no comando e consertá-lo.

É possível executar sudo aptitude update; sudo aptitude upgrade para evitar o problema mencionado, mas para qualquer cara curioso, você saberá o que está acontecendo.

Se você quiser mais informações sobre o que significa a saída de um comando, você pode verificar páginas como: link

(há toneladas de explicações sobre isso, então não há desculpas para não pesquisar se não estiver satisfeito)

De qualquer forma, obrigado pessoal! Você deu uma ajuda muito valiosa:)

    
por rogerparanoia 06.05.2013 / 17:19