Gibt es Namenskonventionen für Variablen in Shell-Skripten?

Gibt es Namenskonventionen für Variablen in Shell-Skripten?

Die meisten Sprachen haben Namenskonventionen für Variablen. Der häufigste Stil, den ich in Shell-Skripten sehe, ist MY_VARIABLE=foo. Ist das die Konvention oder gilt sie nur für globale Variablen? Was ist mit lokalen Variablen im Skript?

Antwort1

Umgebungsvariablen oder Shell-Variablen, die vom Betriebssystem, Shell-Startskripten oder der Shell selbst usw. eingeführt werden, stehen normalerweise alle in CAPITALS1 .

Um Konflikte zwischen Ihren Variablen und diesen Variablen zu vermeiden, empfiehlt es sich, lower_caseVariablennamen zu verwenden.


1 Eine bemerkenswerte Ausnahme, die wissenswert sein könnte, ist das pathvon der Shell verwendete Array zsh. Dies ist dasselbe wie die allgemeine PATHVariable, wird jedoch als Array dargestellt.

Antwort2

Ja, es gibt vollständige Codestilkonventionen für Bash, einschließlich Variablennamen. Hier ist beispielsweise GooglesShell-Styleguide.

Als Zusammenfassung speziell für die Variablennamen:

Variablennamen: Kleinbuchstaben, mit Unterstrichen zur Trennung von Wörtern. Beispiel:my_variable_name

KonstantenUndNamen von Umgebungsvariablen: Alles in Großbuchstaben, durch Unterstriche getrennt, am Anfang der Datei deklariert. Beispiel:MY_CONSTANT

Antwort3

Unterstriche zur Trennung von Wörtern scheinen die beste Lösung zu sein.
Ich habe ein paar Gründe, snake_case gegenüber camelCase zu bevorzugen, wenn ich die freie Wahl habe:

  1. Flexibel: Sie können Groß- und Kleinbuchstaben verwenden (z. B. MY_CONSTANTund my_variable);
  2. Konsistent: Die Ziffern können getrennt werden, um die Zahl lesbarer zu machen (z. B. 1_000_000_000), und diese Funktion wird in vielen Programmiersprachen unterstützt.
  3. Gemeinsam: Gemeinsam an der Stelle, an der der reguläre Ausdruck \wUnterstriche wie Wortzeichen und Zahlen behandelt ( [a-zA-Z0-9_]).

verwandte Informationen