Existe uma declaração goto em Bash

Existe uma declaração goto em Bash
Uma das características mais significativas do Bash é a capacidade de controlar o fluxo da execução do script, esse controle é possível através de várias declarações condicionais, como if-else e loops como para e enquanto. No entanto, alguns desenvolvedores podem se perguntar se Bash suporta um "Vá para" declaração, este artigo explorará se existe um Vá para declaração em bash ou não.

Existe uma declaração "goto" em Bash

A "Vá para" A declaração é um construto de programação que permite que os programadores saltem para uma parte específica do código. É considerado uma característica controversa devido ao seu potencial de dificultar a leitura do código. No entanto, pode ser útil em alguns casos, especialmente ao lidar com fluxos de controle complexos.

Em Bash, não há suporte direto para o "Vá para" declaração, em vez disso, o Bash fornece construções alternativas que podem alcançar o mesmo efeito que um "Vá para" declaração.

Por exemplo, o 'quebrar' e 'continuar' As declarações permitem que os programadores saltem de loops ou pularem iterações em um loop. Da mesma forma, Bash fornece o 'retornar' Declaração para sair de uma função e retornar ao código de chamada.

#!/BIN/BASH
# Defina uma função para adicionar dois números
função add_numbers
se [$# -ne 2]; então
eco "Erro: dê dois números para adicionar"
Retornar 1 # função de saída com status de erro
fi
resultado = $ (($ 1 + $ 2))
eco $ resultado

resultado = $ (add_numbers 10 20)
se [$? -eq 0]; então
eco "Resultado: $ resultado"
outro
eco "a função falhou com o código de erro $?"
fi

O código declara uma função chamada add_numbers Isso leva dois argumentos, cheques se exatamente dois argumentos forem fornecidos, adicione os dois números e armazena o resultado na variável de resultado.

O script então chama o add_numbers função com dois argumentos e verifica o status de retorno da função usando o '$?' variável. Se a função for bem -sucedida (status de retorno 0), ele imprime o resultado, caso contrário, ele imprime uma mensagem de erro com o status de retorno da função:

Outra alternativa ao "Vá para" Declaração em Bash é o caso declaração Como a declaração do caso é semelhante a uma instrução Switch em outras linguagens de programação e permite que os programadores executem blocos de código específicos com base no valor de uma variável. O Declaração do caso pode ser usado para obter um efeito semelhante ao "Vá para" declaração. Abaixo está o código que apenas adiciona dois números inteiros usando a mesma lógica em que o Declaração GOTO funciona:

#!/BIN/BASH
# Leia dois números do usuário
Leia -P "Digite o primeiro número:" num1
Leia -P "Digite o segundo número:" num2
função add_numbers
resultado = $ (($ 1 + $ 2))
# Saia o resultado para o usuário
eco "Resultado: $ resultado"

caso $ num1 $ num2 em
*[!0-9]*)
eco "Erro: insira números inteiros válidos"
;;
*)
add_numbers $ num1 $ num2
;;
ESAC

Primeiro o Leia o comando é usado para levar o usuário a inserir dois números e depois o add_numbers A função adiciona os dois números e produz o resultado ao usuário. Para verificar se os dois números são válidos, o código inteiros usa o Declaração do caso. Se um número não for um número inteiro válido, o script gera uma mensagem de erro e se ambos os números são inteiros válidos, então o add_numbers A função é chamada para adicionar os números e produzir o resultado.

Usando o Declaração do caso Para verificar a entrada, o script evita a necessidade de um "Vá para" Declaração para pular para uma parte específica do código com base no valor de entrada:

Conclusão

Bash não fornece suporte direto para o Declaração "goto" No entanto, o Bash fornece construções alternativas como uma pausa, continue, retorno e declarações de caso que podem atingir efeitos semelhantes que um Declaração "goto". Como em qualquer linguagem de programação, é essencial usar essas construções criteriosamente e evitar usá -las excessivamente. O uso adequado das construções de fluxo de controle pode tornar o código mais legível e sustentável, enquanto o uso excessivo pode dificultar a compreensão e a depuração do código.