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

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

Entendo que se eu executar um comando no shell com os operadores e comercial, por exemplo, command1&&command2e se o primeiro comando for executado com êxito, ele o fará com um status de saída zero.

Isso é semelhante ou diferente da lógica booleana, em que 0 é falso e 1 é verdadeiro ou entendi incorretamente?

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

Responder1

Shell é principalmente 0 para indicar zero erros e sucesso, então sim, nesse sentido, é verdadeiro logicamente, ao contrário de muitas linguagens de programação onde 0 geralmente é falso. Embora as línguas modernas tendam a ter valores lógicos distintos de verdadeiro e falso atualmente.

Responder2

A melhor justificativa é que existe realmente apenas um 'sucesso', mas existem vários motivos para uma 'falha': arquivo não encontrado, erro de argumento, erro computacional, etc. , nas comunicações entre processos - o código de retorno enviado pela exit(2)chamada do sistema e recebido pela wait(2)chamada.

informação relacionada