Korzystanie ze zmiennych środowiskowych Ruby

Zmienne środowiskowe to zmienne przekazywane do programów przez wiersz poleceń lub powłoka graficzna. Gdy przywoływana jest zmienna środowiskowa, następuje odwołanie do jej wartości (niezależnie od tego, jak zmienna jest zdefiniowana).

Chociaż istnieje wiele zmiennych środowiskowych, które wpływają tylko na linię poleceń lub samą powłokę graficzną (takich jak PATH lub HOME), istnieje również kilka, które bezpośrednio wpływają na sposób Skrypty Ruby wykonać.

Wskazówka: Zmienne środowiskowe Ruby są podobne do zmiennych występujących w systemie operacyjnym Windows. Na przykład użytkownicy systemu Windows mogą znać zmienną użytkownika TMP, aby określić lokalizację folderu tymczasowego dla aktualnie zalogowanego użytkownika.

Dostęp do zmiennych środowiskowych z Ruby

Ruby ma bezpośredni dostęp do zmiennych środowiskowych poprzez ENV haszysz. Zmienne środowiskowe mogą być bezpośrednio odczytywane lub zapisywane za pomocą operator indeksu z argumentem ciągu.

Zauważ, że pisanie do zmiennych środowiskowych będzie miało wpływ tylko na procesy potomne skryptu Ruby. Inne wywołania skryptu nie zobaczą zmian w zmiennych środowiskowych.

instagram viewer

#! / usr / bin / env ruby
# Wydrukuj niektóre zmienne
wstawia ENV [„PATH”]
wstawia ENV [„EDYTOR”]
# Zmień zmienną, a następnie uruchom nowy program
ENV [„EDITOR”] = „gedit”
`cheat environment_variables --add`

Przekazywanie zmiennych środowiska do Ruby

Aby przekazać zmienne środowiskowe do Ruby, po prostu ustaw tę zmienną środowiskową w powłoce. Różni się to nieznacznie w zależności od systemu operacyjnego, ale pojęcia pozostają takie same.

Aby ustawić zmienną środowiskową w wierszu polecenia systemu Windows, użyj polecenia set.

> ustaw TEST = wartość

Aby ustawić zmienną środowiskową Linux lub OS X, użyj polecenia eksportowania. Chociaż zmienne środowiskowe są normalną częścią powłoki Bash, tylko zmienne, które były eksportowane będą dostępne w programach uruchamianych przez powłokę Bash.

$ TEST eksportu = wartość

Alternatywnie, jeśli zmienna środowiskowa będzie używana tylko przez program, który ma zostać uruchomiony, możesz zdefiniować dowolne zmienne środowiskowe przed nazwą polecenia. Zmienna środowiskowa zostanie przekazana do programu podczas jego działania, ale nie zostanie zapisana. Wszelkie dalsze wywołania programu nie będą miały tej zmiennej środowiskowej.

$ EDITOR = gedit cheat zmienne_środowiskowe --add

Zmienne środowiskowe używane przez Ruby

Istnieje wiele zmiennych środowiskowych, które wpływają na działanie interpretera Ruby.

  • RUBYOPT - Wszelkie przełączniki wiersza polecenia zostaną dodane do wszystkich przełączników określonych w wierszu poleceń.
  • RUBYPATH - W przypadku użycia z przełącznikiem -S w wierszu poleceń ścieżki wymienione w RUBYPATH zostaną dodane do ścieżek przeszukiwanych podczas wyszukiwania skryptów Ruby. Ścieżki w RUBYPATH poprzedzają ścieżki wymienione w PATH.
  • RUBYLIB - Lista ścieżek tutaj zostanie dodana do listy ścieżek używanych przez Ruby do wyszukiwania bibliotek zawartych w programie wraz z wymagają metody. Ścieżki w RUBYLIB będą przeszukiwane przed innymi katalogami.