O que faz “||” Significar? (Tubo duplo)
O operador de tubo duplo avalia como verdadeiro se uma das expressões de ambos os lados for verdadeira e falsa caso contrário. Isso significa que, se uma das expressões for verdadeira, a outra expressão não precisa ser avaliada. Se ambas as expressões forem falsas, o operador avaliará como falso, então aqui está a sintaxe:
Ou tabela de verdade da operação | ||
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
A sintaxe para usar tubo duplo.
||
Para ilustrar ainda mais, criei um script bash que funciona sem tubo duplo e verifique o status de saída para verificar se o comando é executado ou não, abaixo está o código:
#!/BIN/BASH
# Tente remover um arquivo
RM/Home/Aaliyan/Bashfile44.sh
se [$? -ne 0]; então
# O comando anterior falhou, então imprima uma mensagem de erro
eco "o arquivo não pôde ser removido"
outro
# O comando anterior foi bem -sucedido, então imprima uma mensagem de sucesso
eco "arquivo removido"
fi
Neste exemplo, o comando rm é usado para remover um arquivo. Se o arquivo não puder ser removido ou não existir, o Bash executará o comando Echo para imprimir uma mensagem de erro. Para verificar o status de saída do comando de remoção, a instrução IF é usada, que é armazenada na variável shell especial $ $?. Se o status de saída for um número zero no caso, se o comando falhar, a mensagem de erro será impressa assim:
Da mesma forma, se a saída do arquivo e for removida, a saída será assim:
Agora, aqui está o mesmo script bash que remove o arquivo, mas, neste script, usei o operador de tubo duplo e pode -se ver que o código se tornou mais fácil de entender e legível:
#!/BIN/BASH
# Tente remover um arquivo e imprimir uma mensagem de erro se falhar
rm/path/to/arquivo || eco “o arquivo não pôde ser removido”
Neste código, o comando rm é executado e, se falhar, o comando Echo será executado para imprimir a mensagem de erro e aqui está a saída desse script se falhar:
Agora, no primeiro script, uma instrução IF é usada para verificar o status de saída do comando rm e a mensagem de erro será impressa se o comando falhar. Esta abordagem é mais detalhada e requer mais linhas de código. Além disso, é possível esquecer de verificar o status de saída de um comando, que pode resultar em bugs ou comportamento inesperado em seu script.
Enquanto no segundo script, usei o “||” operador para simplificar o manuseio de erros. O comando echo é executado apenas se o comando rm falhar como nesse caso a primeira entrada é falsa. Essa abordagem é mais concisa e mais fácil de ler, e garante que a mensagem de erro seja sempre impressa se o comando falhar.
Em geral, é uma boa prática usar o “||” Operador em seus scripts bash para simplificar seu código e torná -lo mais legível. É importante observar, no entanto, que esse operador funciona apenas para casos simples de tratamento de erros e, em cenários mais complexos, pode ser necessário usar técnicas mais avançadas.
Da mesma forma, se o arquivo for removido, o operador de tubo duplo não executaria a outra condição e apenas terminará, portanto, aqui se houver saídas de um arquivo, então:
Conclusão
O “||” O operador (duplo tubo) em Bash é um operador de controle útil que pode simplificar os scripts de shell, permitindo a execução condicional de comandos com base no sucesso ou falha dos comandos anteriores. Este guia fornece detalhes extensos sobre o que esse operador significa e como ele pode ser usado no script bash com a ajuda de exemplos.