Verwenden von Ruby-Umgebungsvariablen

Umgebungsvariablen sind Variablen, die von der Befehlszeile oder der grafischen Shell an Programme übergeben werden. Wenn auf eine Umgebungsvariable verwiesen wird, wird auf ihren Wert (unabhängig davon, wie die Variable definiert ist) verwiesen.

Obwohl es eine Reihe von Umgebungsvariablen gibt, die nur die Befehlszeile oder die grafische Shell selbst betreffen (wie PATH oder HOME), gibt es auch einige, die sich direkt auf die Ausführung von Ruby-Skripten auswirken.

Tipp: Ruby-Umgebungsvariablen ähneln denen des Windows-Betriebssystems. Beispielsweise können Windows-Benutzer mit einer TMP-Benutzervariablen vertraut sein, um den Speicherort des temporären Ordners für den derzeit angemeldeten Benutzer zu definieren.

Zugriff auf Umgebungsvariablen aus Ruby

Ruby hat direkten Zugriff auf Umgebungsvariablen über den ENV-Hash. Umgebungsvariablen können mithilfe des Indexoperators mit einem Zeichenfolgenargument direkt gelesen oder beschrieben werden.

Beachten Sie, dass das Schreiben in Umgebungsvariablen nur Auswirkungen auf untergeordnete Prozesse des Ruby-Skripts hat. Bei anderen Aufrufen des Skripts werden die Änderungen in Umgebungsvariablen nicht angezeigt.

#! / usr / bin / env ruby
# Einige Variablen drucken
setzt ENV ['PATH']
setzt ENV ['EDITOR']
# Ändern Sie eine Variable und starten Sie ein neues Programm
ENV ['EDITOR'] = 'gedit'
'cheat environment_variables --add'

Umgebungsvariablen an Ruby übergeben

Um Umgebungsvariablen an Ruby zu übergeben, legen Sie diese Umgebungsvariable einfach in der Shell fest. Dies variiert geringfügig zwischen den Betriebssystemen, die Konzepte bleiben jedoch gleich.

Verwenden Sie den Befehl set, um eine Umgebungsvariable an der Windows-Eingabeaufforderung festzulegen.

> TEST = Wert setzen

Verwenden Sie den Befehl export, um eine Umgebungsvariable unter Linux oder OS X festzulegen. Umgebungsvariablen sind zwar ein normaler Bestandteil der Bash-Shell, jedoch nur Variablen, die vorhanden waren exportiert wird in Programmen verfügbar sein, die von der Bash-Shell gestartet werden.

$ export TEST = value

Alternativ können Sie Umgebungsvariablen vor dem Namen des Befehls definieren, wenn die Umgebungsvariable nur vom auszuführenden Programm verwendet wird. Die Umgebungsvariable wird beim Ausführen an das Programm übergeben, jedoch nicht gespeichert. Bei weiteren Aufrufen des Programms wird diese Umgebungsvariable nicht festgelegt.

$ EDITOR = gedit cheat Umgebungsvariablen --add

Umgebungsvariablen, die von Ruby verwendet werden

Es gibt eine Reihe von Umgebungsvariablen, die die Funktionsweise des Ruby-Interpreters beeinflussen.

  • RUBYOPT - Alle hier angegebenen Befehlszeilenoptionen werden zu allen in der Befehlszeile angegebenen Optionen hinzugefügt.
  • RUBYPATH - Bei Verwendung der Option -S in der Befehlszeile werden die in RUBYPATH aufgelisteten Pfade zu den Pfaden hinzugefügt, die bei der Suche nach Ruby-Skripten gesucht werden. Die Pfade in RUBYPATH stehen vor den in PATH aufgelisteten Pfaden.
  • RUBYLIB - Die Liste der Pfade wird der Liste der Pfade hinzugefügt, die Ruby verwendet, um nach Bibliotheken zu suchen, die im Programm mit der Methode require enthalten sind. Die Pfade in RUBYLIB werden vor anderen Verzeichnissen durchsucht.