Usando variáveis booleanas em scripts de shell sintaxe, exemplos e práticas recomendadas
- 2684
- 314
- Leroy Lebsack
As variáveis booleanas são uma parte essencial da programação, pois representam valores verdadeiros ou falsos e são frequentemente usados para controlar o fluxo de um script. Em scripts de shell, as variáveis booleanas são usadas para tomar decisões, controlar loops e gerenciar a execução condicional. Este artigo fornece um guia abrangente para declarar e usar variáveis booleanas em diferentes conchas, como Bash, Zsh e Ksh. Também exploraremos casos de uso comuns para variáveis booleanas em scripts de shell, compartilhar dicas e práticas recomendadas para trabalhar com variáveis booleanas e fornecer exemplos de uso variável booleano em scripts de shell do mundo real.
Introdução
Na script de shell, as variáveis booleanas são tipicamente representadas como números inteiros, com 0 representando verdadeiro e 1 representando falso. Esta convenção é baseada no fato de que os comandos e utilitários do UNIX geralmente retornam um status de saída 0 para indicar sucesso e um status diferente de zero para indicar falha.
Declarando e usando variáveis booleanas em diferentes conchas
- Bash
Em Bash, você pode representar variáveis booleanas usando valores inteiros. Para declarar uma variável booleana, basta atribuir o valor 0 para verdadeiro ou 1 para false:
is_valid = 0 # true is_error = 1 # false12 is_valid = 0 # trueis_error = 1 # false Para usar uma variável booleana em uma declaração condicional, use a seguinte sintaxe:
se [$ is_valid -eq 0]; então eco "a entrada é válida."else eco", a entrada é inválida."Fi12345 se [$ is_valid -eq 0]; então eco "a entrada é válida."else eco", a entrada é inválida."Fi - Zsh
O processo de declarar e usar variáveis booleanas no ZSH é semelhante ao Bash:
is_valid = 0 # true is_error = 1 # false12 is_valid = 0 # trueis_error = 1 # false Usando uma variável booleana em uma declaração condicional em Zsh:
se [$ is_valid -eq 0]; então eco "a entrada é válida."else eco", a entrada é inválida."Fi12345 se [$ is_valid -eq 0]; então eco "a entrada é válida."else eco", a entrada é inválida."Fi - Ksh
Em Kornshell (KSH), você também pode representar variáveis booleanas usando valores inteiros:
is_valid = 0 # true is_error = 1 # false12 is_valid = 0 # trueis_error = 1 # false Usando uma variável booleana em uma declaração condicional em KSH:
se [$ is_valid -eq 0]; então eco "a entrada é válida."else eco", a entrada é inválida."Fi12345 se [$ is_valid -eq 0]; então eco "a entrada é válida."else eco", a entrada é inválida."Fi
Casos de uso comuns para variáveis booleanas em scripts de shell
As variáveis booleanas são frequentemente usadas em scripts de shell para:
- Controle o fluxo de um script com base em status de saída de comando
- Validar a entrada do usuário ou verificar a existência de arquivos ou diretórios
- Gerenciar a execução condicional de comandos ou funções
- Loops de controle, como enquanto e até os loops
Dicas e práticas recomendadas para trabalhar com variáveis booleanas
- Sempre use 0 para verdadeiro e 1 para FALSE para manter a consistência com convenções Unix.
- Use nomes de variáveis significativos que indicam claramente o objetivo da variável booleana.
- Ao usar variáveis booleanas em declarações condicionais, sempre use o operador -eq para comparar os valores.
- Em scripts complexos, considere o uso de funções para encapsular operações booleanas relacionadas e melhorar a legibilidade.
Exemplos de uso variável booleano em scripts de shell do mundo real
Aqui está um exemplo de um script bash que usa uma variável booleana para controlar um loop de tempo:
#!/bin/bash is_running = 0 contador = 0 while [$ is_running -eq 0]; do contador = $ ((contador + 1)) eco "iteração em execução $ contador" se [$ contador -ge 5]; então is_running = 1 fi sono 1 feito eco."1234567891011121314151617 | #!/bin/bash is_running = 0Counter = 0 while [$ is_running -eq 0]; do contador = $ ((contador + 1)) eco "iteração em execução $ contador" se [$ contador -ge 5]; então is_running = 1 Fi Sleep 1Done Echo "O loop concluiu." |
Neste exemplo, o 'está correndo' A variável booleana está inicialmente definida como '0' (verdadeiro), fazendo com que o loop seja executado. O loop incrementa o 'contador' variável com cada iteração e verifica se o 'contador' alcançou ou excedeu o valor de 5. Se a condição for atendida, o 'está correndo' A variável está definida como '1' (falso), encerrar o loop.
Outro exemplo é um script de shell que verifica se existe um arquivo e define uma variável booleana de acordo:
#!/bin/bash filename = "Exemplo.txt "file_exists = 1 se [-e" $ filename "]; então file_exists = 0 echo" o arquivo $ filename existe."else eco", o arquivo $ FILENAME não existe."fi se [$ file_exists -eq 0]; então echo" executando operações no arquivo existente ... " # Adicione suas operações de arquivo aqui mais eco" Operações de arquivo… "FI123456789101112131415161718 | #!/bin/bash filename = "Exemplo.txt "file_exists = 1 se [-e" $ filename "]; então file_exists = 0 echo" o arquivo $ filename existe."else eco", o arquivo $ FILENAME não existe."fi se [$ file_exists -eq 0]; então echo" executando operações no arquivo existente ... " # Adicione suas operações de arquivo aqui eco" operações de arquivo… "fi |
Neste script, o o arquivo existe A variável booleana é definida com base na existência do arquivo especificado. O script usa essa variável para executar operações de arquivo condicionalmente se o arquivo existir.
Conclusão
Dominar variáveis booleanas em scripts de shell é essencial para escrever scripts eficientes, robustos e sustentáveis. Ao entender a sintaxe para declarar e usar variáveis booleanas em diferentes conchas, você pode criar scripts que tomam decisões, controlam loops e gerenciam a execução condicional de maneira eficaz. Lembre -se sempre de usar nomes de variáveis claros, manter consistência com convenções Unix e siga as melhores práticas para garantir que seus scripts sejam fáceis de ler e entender.
- « (Resolvido) AVISO APT-TECH. Gerenciar arquivos de chaveiro em confiança.gpg.d em vez disso
- Como configurar os CORs nos baldes Amazon S3 »