Använda Ruby miljövariabler

Miljövariabler är variabler som skickas till program via kommandoraden eller det grafiska skalet. När en miljövariabel hänvisas till hänvisas sedan dess värde (oavsett variabeln definieras som).

Även om det finns ett antal miljövariabler som endast påverkar kommandoraden eller det grafiska skalet (som PATH eller HOME), finns det också flera som direkt påverkar hur Ruby-skript kör.

Tips: Ruby-miljövariabler liknar de som finns i Windows OS. Windows-användare kan till exempel känner till en TMP-användarvariabel för att definiera platsen för den temporära mappen som för den för närvarande inloggade användaren.

Tillgång till miljövariabler från Ruby

Ruby har direkt tillgång till miljövariabler via ENV-hash. Miljövariabler kan läsas direkt eller skrivas till med hjälp av indexoperatören med ett strängargument.

Observera att skrivning till miljövariabler bara kommer att påverka barnprocesser i Ruby-skriptet. Andra invokationer av skriptet ser inte förändringarna i miljövariabler.

#! / usr / bin / env ruby
# Skriv ut några variabler
sätter ENV ['PATH']
sätter ENV ['EDITOR']
# Ändra en variabel och starta sedan ett nytt program
ENV ['EDITOR'] = 'gedit'
'cheat environment_variables --add'

Överför miljövariabler till Ruby

För att skicka miljövariabler till Ruby, ställ bara in den miljövariabeln i skalet. Detta varierar något mellan operativsystem, men koncepten förblir desamma.

Använd inställningskommandot för att ställa in en miljövariabel i Windows-kommandotolken.

> ställa in TEST = värde

Använd exportkommandot för att ställa in en miljövariabel på Linux eller OS X. Även om miljövariabler är en normal del av Bash-skalet, är det bara variabler som har varit det exporteras kommer att finnas tillgängliga i program som lanseras av Bash-skalet.

$ export TEST = värde

Alternativt, om miljövariabeln endast kommer att användas av programmet som ska köras, kan du definiera alla miljövariabler innan kommandot namn. Miljövariabeln överförs till programmet när det körs, men sparas inte. Alla ytterligare anrop av programmet kommer inte att ha denna miljövariabel inställd.

$ EDITOR = gedit cheat environment_variables - lägg till

Miljövariabler som används av Ruby

Det finns ett antal miljövariabler som påverkar hur Ruby-tolken fungerar.

  • RUBYOPT - Alla kommandoradsväxlar här läggs till alla omkopplare som anges på kommandoraden.
  • RUBYPATH - När den används med -S-omkopplaren på kommandoraden kommer banorna i RUBYPATH att läggas till sökvägarna när du letar efter Ruby-skript. Vägarna i RUBYPATH föregår de sökvägar som anges i PATH.
  • RUBYLIB - Listan med sökvägar här kommer att läggas till i listan över sökvägar som Ruby använder för att söka efter bibliotek som ingår i programmet med den metod som krävs. Sökvägarna i RUBYLIB kommer att sökas före andra kataloger.