web-dev-qa-db-fra.com

Existe-t-il des conventions de dénomination pour les variables dans les scripts Shell?

La plupart des langues ont des conventions de dénomination pour les variables, le style le plus courant que je vois dans les scripts Shell est MY_VARIABLE=foo. Est-ce la convention ou est-ce uniquement pour les variables globales? Qu'en est-il des variables locales au script?

128
Garrett Hall

Les variables d'environnement ou les variables Shell introduites par le système d'exploitation, les scripts de démarrage de Shell ou par le Shell lui-même, etc. sont généralement toutes dans CAPITALS.

Pour éviter que vos propres variables n'entrent en conflit avec ces variables, il est recommandé d'utiliser lower_case noms de variables.

121
jippie

Oui, il existe des conventions de style de code complet pour bash, y compris les noms de variables. Par exemple, voici Google Shell Style Guide .

En résumé pour les noms de variables en particulier:

Noms de variables : minuscules, avec des traits de soulignement pour séparer les mots. Ex: my_variable_name

Constantes et Noms des variables d'environnement : toutes les majuscules, séparées par des traits de soulignement, déclarées en haut du fichier. Ex: MY_CONSTANT

71
Anonsage

Les soulignements pour séparer les mots semblent être la meilleure façon de procéder.
J'ai quelques raisons de préférer snake_case à camelCase quand je suis libre de choisir:

  1. Flexible: vous pouvez utiliser des majuscules et des minuscules (par exemple MY_CONSTANT et my_variable);
  2. Cohérent: les chiffres peuvent être séparés pour rendre le nombre plus lisible (par exemple 1_000_000_000) et cette fonctionnalité est prise en charge dans de nombreux langages de programmation;
  3. Commun: Commun au niveau de l'expression régulière \w gère les traits de soulignement comme les caractères et les chiffres Word ([a-zA-Z0-9_]).
3
isar