Verwenden von Ruby-Umgebungsvariablen

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

Obwohl es eine Reihe von Umgebungsvariablen gibt, die sich nur auf die Befehlszeile oder die grafische Shell selbst auswirken (z. B. PATH oder HOME), gibt es auch einige, die sich direkt auf die Art und Weise auswirken Ruby-Skripte ausführen.

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

Zugriff auf Umgebungsvariablen von Ruby aus

Ruby hat über die ENV direkten Zugriff auf Umgebungsvariablen Hash. Umgebungsvariablen können mithilfe von direkt gelesen oder beschrieben werden Indexoperator mit einem String-Argument.

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 den Umgebungsvariablen nicht angezeigt.

instagram viewer

#! / 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`

Übergeben von Umgebungsvariablen an Ruby

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

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

> setze TEST = Wert

So setzen Sie eine Umgebungsvariable ein Linux Verwenden Sie unter OS X den Befehl export. Obwohl Umgebungsvariablen ein normaler Bestandteil der Bash-Shell sind, wurden nur Variablen verwendet exportiert wird in Programmen verfügbar sein, die von der Bash-Shell gestartet werden.

$ export TEST = Wert

Wenn die Umgebungsvariable nur von dem Programm verwendet wird, das ausgeführt werden soll, können Sie alternativ alle Umgebungsvariablen vor dem Namen des Befehls definieren. Die Umgebungsvariable wird beim Ausführen an das Programm übergeben, jedoch nicht gespeichert. Bei weiteren Programmaufrufen wird diese Umgebungsvariable nicht festgelegt.

$ EDITOR = gedit cheat Umgebungsvariablen --add

Von Ruby verwendete Umgebungsvariablen

Es gibt eine Reihe von Umgebungsvariablen, die sich auf die Funktionsweise des Ruby-Interpreters auswirken.

  • RUBYOPT - Alle Befehlszeilenschalter hier werden zu allen in der Befehlszeile angegebenen Schaltern hinzugefügt.
  • RUBYPATH - Bei Verwendung mit dem -S-Schalter 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 hier wird der Liste der Pfade hinzugefügt, die Ruby verwendet, um nach Bibliotheken zu suchen, die im Programm mit enthalten sind erfordern Methode. Die Pfade in RUBYLIB werden vor anderen Verzeichnissen durchsucht.