GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Zulässige Zeichen in Namen von Linux-Umgebungsvariablen

Der Abschnitt POSIX-Standards zu Shells von IEEE Std 1003.1-2008 / IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools definiert keine lexikalische Konvention für Variablennamen, aber ein flüchtiger Blick auf die Quelle zeigt, dass sie etwas Ähnliches verwendet wie

[a-zA-Z_]+[a-zA-Z0-9_]*

(Bearbeiten:Fehlender Unterstrich in der 2. Zeichenklasse hinzugefügt.)

Eine kurze Anmerkung, da einige Shells das + in Regex nicht unterstützen, könnte eine möglicherweise tragbarere Regex sein:

[a-zA-Z_]{1,}[a-zA-Z0-9_]{0,}


Von The Open Group:

Diese Zeichenfolgen haben den Formnamen=Wert; Namen dürfen nicht das Zeichen '=' enthalten. Damit Werte über Systeme hinweg übertragbar sein sollen, die IEEE Std 1003.1-2001 entsprechen, muss der Wert aus Zeichen aus dem übertragbaren Zeichensatz bestehen (außer NU und wie unten angegeben). ).

Namen dürfen also alle Zeichen außer =und NUL enthalten, aber:

Umgebungsvariablennamen, die von den Dienstprogrammen im Shell- und Utilities-Band von IEEE Std1003.1-2001 verwendet werden, bestehen ausschließlich aus Großbuchstaben, Ziffern und dem '_' (Unterstrich) aus den im Portable Character Set definierten Zeichen und beginnen nicht mit einer Ziffer . Andere Zeichen können durch eine Implementierung zugelassen werden; Anwendungen müssen das Vorhandensein solcher Namen tolerieren.

Während also die Namen gültig sein können, unterstützt Ihre Shell möglicherweise nichts außer Buchstaben, Zahlen und Unterstrichen.


Linux
  1. Linux-Umgebungsvariablen:Lesen und Festlegen auf einem Linux-VPS

  2. Linux – Wie setzt man die Umgebungsvariable „http_proxy“ in Python zurück?

  3. Wie erlaubt man nur bestimmte Zeichen in einer Bash-Variablen?

  4. Beispiele für Linux-Exportbefehle (Festlegen von Umgebungsvariablen)

  5. C# in Linux-Umgebung

Tr-Befehl in Linux mit Beispielen

Tipps/Tricks zur Linux-Kommandozeilennavigation 3 - die CDPATH-Umgebungsvariable

So setzen/löschen Sie Umgebungsvariablen in Linux

So setzen Sie die Umgebungsvariable in Bash

Linux-Umgebungsvariablen

Zulässige Zeichen in Namen von Linux-Netzwerkschnittstellen?