Ruby-omgevingsvariabelen gebruiken

Omgevingsvariabelen zijn variabelen die aan programma's worden doorgegeven via de opdrachtregel of de grafische shell. Wanneer naar een omgevingsvariabele wordt verwezen, wordt vervolgens naar de waarde ervan (ongeacht de variabele zoals gedefinieerd) verwezen.

Hoewel er een aantal omgevingsvariabelen zijn die alleen van invloed zijn op de opdrachtregel of de grafische shell zelf (zoals PATH of HOME), zijn er ook verschillende die rechtstreeks van invloed zijn op de manier waarop Ruby-scripts worden uitgevoerd.

Tip: Ruby-omgevingsvariabelen zijn vergelijkbaar met die in het Windows-besturingssysteem. Windows-gebruikers kunnen bijvoorbeeld bekend zijn met een TMP-gebruikersvariabele om de locatie van de tijdelijke map te definiëren voor de momenteel ingelogde gebruiker.

Toegang tot omgevingsvariabelen van Ruby

Ruby heeft directe toegang tot omgevingsvariabelen via de ENV-hash. Omgevingsvariabelen kunnen direct worden gelezen of beschreven door de indexoperator met een stringargument te gebruiken.

Merk op dat schrijven naar omgevingsvariabelen alleen effect heeft op onderliggende processen van het Ruby-script. Andere aanroepen van het script zullen de veranderingen in omgevingsvariabelen niet zien.

#! / usr / bin / env ruby
# Druk enkele variabelen af
zet ENV ['PATH']
zet ENV ['EDITOR']
# Wijzig een variabele en start een nieuw programma
ENV ['EDITOR'] = 'gedit'
'cheat environment_variables --add'

Omgevingsvariabelen doorgeven aan Ruby

Om omgevingsvariabelen aan Ruby door te geven, stelt u eenvoudig die omgevingsvariabele in de shell in. Dit verschilt enigszins tussen besturingssystemen, maar de concepten blijven hetzelfde.

Gebruik de opdracht set om een ​​omgevingsvariabele in te stellen op de Windows-opdrachtprompt.

> stel TEST = waarde in

Gebruik de exportopdracht om een ​​omgevingsvariabele in te stellen op Linux of OS X. Hoewel omgevingsvariabelen een normaal onderdeel van de Bash-shell zijn, zijn dat alleen variabelen geëxporteerd zal beschikbaar zijn in programma's die worden gestart door de Bash-shell.

$ export TEST = waarde

Als alternatief, als de omgevingsvariabele alleen wordt gebruikt door het programma dat moet worden uitgevoerd, kunt u omgevingsvariabelen definiëren vóór de naam van de opdracht. De omgevingsvariabele wordt tijdens de uitvoering aan het programma doorgegeven, maar niet opgeslagen. Voor verdere aanroepen van het programma is deze omgevingsvariabele niet ingesteld.

$ EDITOR = gedit cheat environment_variables --add

Omgevingsvariabelen gebruikt door Ruby

Er zijn een aantal omgevingsvariabelen die invloed hebben op de werking van de Ruby-interpreter.

  • RUBYOPT - Alle opdrachtregelopties worden hier toegevoegd aan alle schakelaars die op de opdrachtregel zijn opgegeven.
  • RUBYPATH - Wanneer gebruikt met de schakelaar -S op de opdrachtregel, worden de paden in RUBYPATH toegevoegd aan de gezochte paden bij het zoeken naar Ruby-scripts. De paden in RUBYPATH gaan vooraf aan de paden die in PATH worden vermeld.
  • RUBYLIB - De lijst met paden hier wordt toegevoegd aan de lijst met paden die Ruby gebruikt om met de vereiste methode naar bibliotheken in het programma te zoeken. De paden in RUBYLIB worden voor andere mappen doorzocht.