O status de saída zero é diferente daquele da lógica booleana ao usar o shell do Linux?

1

Eu entendo que se eu executar um comando no shell com os operadores de e comercial, por exemplo command1&&command2 e o primeiro comando deve ser executado com êxito, com um status de saída zero.

É semelhante ou diferente da lógica booleana, na qual 0 é falso e 1 é verdadeiro ou entendi incorretamente?

O tipo de casca que você usa faz diferença? Atualmente, estou executando o Bourne-Again Shell.

    
por PeanutsMonkey 30.04.2012 / 04:13

2 respostas

1

A maior parte do shell é 0 para indicar zero erros e sucesso, portanto, sim, neste sentido, isso é verdade logicamente, diferentemente de muitas linguagens de programação, em que 0 geralmente é falso. Embora as línguas modernas tendam a ter valores lógicos distintos de verdadeiro e falso nos dias de hoje.

    
por 30.04.2012 / 04:19
1
O melhor raciocínio é que há realmente apenas um 'sucesso', mas existem várias razões para um 'fracasso': arquivo não encontrado, erro de argumento, erro computacional, etc. Esta foi uma convenção do sistema operacional, não apenas do shell, nas comunicações entre processos - o código de retorno enviado pela chamada do sistema exit(2) e recebido pela chamada wait(2) .

    
por 30.04.2012 / 12:59

Tags