Y a-t-il une déclaration «goto» dans Bash

Y a-t-il une déclaration «goto» dans Bash
L'une des caractéristiques les plus importantes de Bash est sa capacité à contrôler le flux de l'exécution du script, ce contrôle est possible grâce à diverses déclarations conditionnelles comme If-Else et Loops comme pour et pendant que. Cependant, certains développeurs peuvent se demander si Bash soutient un "aller à" déclaration, cet article explorera s'il y a un aller à déclaration en bash ou pas.

Y a-t-il une déclaration «goto» dans Bash

UN "aller à" La déclaration est une construction de programmation qui permet aux programmeurs de passer à une partie spécifique du code. Il est considéré comme une caractéristique controversée en raison de son potentiel pour rendre le code difficile à lire et à comprendre. Cependant, il peut être utile dans certains cas, en particulier lorsqu'il s'agit de flux de contrôle complexes.

Dans Bash, il n'y a pas de support direct pour le "aller à" Déclaration, au lieu de cela Bash fournit des constructions alternatives qui peuvent obtenir le même effet qu'un "aller à" déclaration.

Par exemple, le 'casser' et 'continuer' Les déclarations permettent aux programmeurs de sauter des boucles ou de sauter des itérations dans une boucle. De même, Bash fournit le 'retour' instruction pour quitter une fonction et revenir au code d'appel.

#!/ bac / bash
# définir une fonction pour ajouter deux nombres
fonction add_numbers
si [$ # -ne 2]; alors
Echo "Erreur: donnez deux nombres à ajouter"
Renvoie 1 # Fonction de sortie avec l'état d'erreur
Fi
résultat = $ ((1 $ + 2 $))
Echo $ Résultat

résultat = $ (add_numbers 10 20)
Si [$? -Eq 0]; alors
Echo "Résultat: $ résultat"
autre
Echo "La fonction a échoué avec le code d'erreur $?"
Fi

Le code déclare une fonction appelée add_numbers Cela prend deux arguments, vérifie si exactement deux arguments sont fournis, ajouter les deux nombres et stocke le résultat dans la variable de résultat.

Le script appelle alors le add_numbers fonction avec deux arguments et vérifie l'état de retour de la fonction à l'aide du '$?' variable. Si la fonction réussit (état de retour 0), il imprime le résultat, sinon il imprime un message d'erreur avec l'état de retour de la fonction:

Une autre alternative au "aller à" La déclaration en bash est le cas déclaration Comme l'instruction de cas est similaire à une instruction Switch dans d'autres langages de programmation et permet aux programmeurs d'exécuter des blocs de code spécifiques en fonction de la valeur d'une variable. Le affirmation de cas peut être utilisé pour obtenir un effet similaire à un "aller à" déclaration. Vous trouverez ci-dessous le code qui ajoute simplement deux entiers en utilisant la même logique sur laquelle le déclaration GOTO travaux:

#!/ bac / bash
# Lire deux numéros de l'utilisateur
lire -p "Entrez le premier numéro:" num1
lire -p "Entrez le deuxième numéro:" num2
fonction add_numbers
résultat = $ ((1 $ + 2 $))
# Sortie le résultat à l'utilisateur
Echo "Résultat: $ résultat"

cas $ num1 $ num2 in
* [!0-9] *)
Echo "Erreur: entre en entiers valides"
;;
*)
add_numbers $ num1 $ num2
;;
ESAC

Premièrement la Commande de lecture est utilisé pour inviter l'utilisateur à saisir deux numéros, puis le add_numbers La fonction ajoute les deux nombres et publie le résultat à l'utilisateur. Pour vérifier si les deux nombres sont un code entiers valide utilise le affirmation de cas. Si l'un ou l'autre nombre n'est pas un entier valide, le script publie un message d'erreur et si les deux nombres sont des entiers valides, alors le add_numbers La fonction est appelée pour ajouter les nombres et sortir le résultat.

En utilisant le affirmation de cas Pour vérifier l'entrée, le script évite la nécessité d'un "aller à" Instruction pour sauter vers une partie spécifique du code en fonction de la valeur d'entrée:

Conclusion

Bash ne fournit pas de support direct pour le Énoncé "Goto" Cependant, Bash fournit des constructions alternatives comme une pause, continuer, renvoyer et des instructions de cas qui peuvent obtenir des effets similaires Énoncé "Goto". Comme pour tout langage de programmation, il est essentiel d'utiliser ces constructions judicieusement et d'éviter de les utiliser excessivement. Une utilisation appropriée des constructions de flux de contrôle peut rendre le code plus lisible et maintenable, tandis que l'utilisation excessive peut rendre le code difficile à comprendre et à déboguer.