Est-il un “goto” déclaration en bash?

Est-il un "goto" déclaration en bash ? Je sais que C'est considéré comme une mauvaise pratique, mais j'ai besoin de spécifiquement "goto".

  • Non, il n'y a pas goto en bash (au moins, il dit command not found pour moi). Pourquoi? Les Chances sont, il existe une meilleure façon de le faire.
  • Vous n'avez jamais besoin goto, au pire, vous avez besoin de plus de pratique avec d'autres flux de contrôle des outils.
  • Il peut avoir ses raisons. J'ai trouvé cette question parce que je veux un goto déclaration de sauter sur un grand nombre de code pour le débogage d'une grande script sans attendre une heure pour divers sans lien avec les tâches à effectuer. Je serais certainement pas utiliser un goto dans le code de production, mais pour le débogage mon code, ça serait ma vie infiniment plus facile, et il serait plus facile à repérer quand il est venu pour l'enlever.
  • Mais n'ayant pas de goto peut rendre certaines choses plus compliquées. Il y a en effet des cas d'utilisation.
  • Il serait utile si vous spécifiez la raison de votre besoin. Si c'est pour la gestion des exceptions, de créer une fonction avec un rapport de sortie en elle et appeler cette fonction... Aussi, si vous avez une grande script avec beaucoup de niveaux de débogage, si ce serait beaucoup plus lisible avec une instruction if ou de le diviser en plusieurs fonctions. Ce n'est pas une bonne idée de créer des scripts Bash qui sont des centaines de lignes de long sans le fractionner en plusieurs fonctions, comme n'importe quel autre langage de programmation.
  • Je le veux pour le debugging. Nous ne se soucient pas des meilleures pratiques pendant le débogage du code.
  • Je suis malade de cette goto mythe! Il n'y a rien de mal avec goto! Tout ce que vous écrivez devient finalement goto. En assembleur, il y a seulement goto. Une bonne raison pour utiliser goto en plus des langages de programmation est par exemple de sauter hors de boucles imbriquées dans un endroit propre et lisible.
  • Désolé, mais pas de saut de boucles imbriquées est exactement l'une des raisons pour laquelle beaucoup de gens détestent goto! Il existe des cas d'utilisation pour elle, mais ce n'est pas l'un d'eux, et même s'il l'était, ce ne serait qu'une raison d'avoir un multi-niveau continuer états; pas généralisée goto. Toujours, vous avez raison - et je suis d'accord avec votre conclusion, même si c'est pas votre exemple.
  • J'ai la pire raison de tous - le portage de windows cmd fichiers de plus en plus-ou-moins de 1:1 à bash. Ils ont généralement peu à zéro de la structuration, sauf sur le "goto" niveau...
  • "Éviter goto" est une grande règle. Comme toute règle, il devrait être appris en trois phases. Première: suivre la règle jusqu'à ce qu'il est une seconde nature. Deuxièmement, apprenez à comprendre les raisons de la règle. Troisièmement, apprendre les bonnes exceptions à la règle, basée sur une compréhension approfondie de la façon de suivre la règle et les motifs de la règle. Évitez de sauter des étapes ci-dessus, qui serait comme l'utilisation de "goto". 😉
  • Le shell utilisé pour avoir un goto de commande. Le : de commande qui sert à fabriquer une étiquette est un rudiment de ce. Toutefois, cette fonctionnalité reste aujourd'hui.
  • Je pense que nous avons découvert le problème. GOTO a été omis de la coquille. À qui pouvons-nous obtenir de réparer cet oubli?

InformationsquelleAutor kofucii | 2012-03-09