O que significa “comando retornado 1”?

3

Estou tentando obter um comando para executar a partir da minha interface MythTV em um computador Mythbuntu.

Quando eu tento um comando de teste, touch /home/mythbuntu/test , ele não funciona e vejo essa entrada em /var/log/mythtv/mythbackend.log :

Jul 19 14:29:35 mythbuntu mythbackend[1863]: W SystemEvent mythsystemevent.cpp:55 (run) MythSystemEventHandler: Command 'touch /home/mythbuntu/test' returned 1

Suponho que returned 1 signifique algum tipo de status de erro, mas uma pesquisa no Google não resultou em algo que eu possa entender.

O que significa returned 1 e o que isso me diz sobre o comando que estou tentando executar?

    
por Questioner 19.07.2012 / 08:22

2 respostas

3

Não está na página do Ubuntu para touch , mas o exit status para touch são:

  • 0 O utilitário de toque foi executado com sucesso e todas as alterações solicitadas foram feitas.
  • > 0 Ocorreu um erro. O utilitário de toque retornou o número de arquivos para quais os horários não puderam ser modificados com sucesso.

Portanto, o 1 é a quantidade de vezes que otouch não pôde ser executado. O mais provável é que você não esteja usando o usuário ou grupo correto para emitir esse comando para verificar as permissões de usuário e grupo do arquivo que você está tentando modificar com

ls -l /home/mythbuntu/test

Se é usuário: group mythtv: mythtv você precisa adicionar seu usuário para agrupar o mythtv para touch para trabalhar.

    
por Rinzwind 19.07.2012 / 08:45
2
  • Os comandos geralmente retornam um código de saída diferente de zero quando algo está errado.
  • Como mostra a mythsystemevent.cpp , o MythTV backend obedientemente retorna o código de saída real do comando se for diferente de zero:

    if (result != GENERIC_EXIT_OK)
    LOG(VB_GENERAL, LOG_WARNING, LOC +
    QString("Command '%1' returned %2")
    .arg(m_command).arg(result));
    
  • Portanto, returned 1 informa que houve um erro, em que o comando que você tentou executar falhou com o código de saída 1
  • Para descobrir o que significa em relação ao comando, ou a causa da falha, é necessário consultar a documentação do comando.
    • Por exemplo, a página touch diz para executar info coreutils 'touch invocation' para o manual completo, que por sua vez é concluído com Um status de saída zero indica sucesso e um valor diferente de zero indica falha.
    • Para mais detalhes, veja a resposta de Rinzwind.
por ish 19.07.2012 / 09:03