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.