Utilizzo delle variabili ambientali di Ruby

Le variabili di ambiente sono variabili passate ai programmi dalla riga di comando o dalla shell grafica. Quando si fa riferimento a una variabile di ambiente, viene fatto riferimento al suo valore (qualunque sia la variabile definita).

Sebbene ci siano un certo numero di variabili d'ambiente che influenzano solo la riga di comando o la stessa shell grafica (come PATH o HOME), ce ne sono anche diverse che influenzano direttamente il modo in cui gli script Ruby vengono eseguiti.

Suggerimento: le variabili di ambiente Ruby sono simili a quelle presenti nel sistema operativo Windows. Ad esempio, gli utenti Windows potrebbero avere familiarità con una variabile utente TMP per definire la posizione della cartella temporanea per l'utente attualmente connesso.

Accesso alle variabili di ambiente da Ruby

Ruby ha accesso diretto alle variabili di ambiente tramite l'hash ENV. Le variabili di ambiente possono essere lette o scritte direttamente utilizzando l'operatore indice con un argomento stringa.

Si noti che la scrittura su variabili di ambiente avrà effetto solo sui processi figlio dello script Ruby. Altre invocazioni dello script non vedranno i cambiamenti nelle variabili di ambiente.

#! / usr / bin / env ruby
# Stampa alcune variabili
mette ENV ['PATH']
mette ENV ['EDITOR']
# Modifica una variabile, quindi avvia un nuovo programma
ENV ['EDITOR'] = 'gedit'
'cheat environment_variables --add'

Passare le variabili di ambiente a Ruby

Per passare le variabili di ambiente a Ruby, è sufficiente impostare quella variabile di ambiente nella shell. Questo varia leggermente tra i sistemi operativi, ma i concetti rimangono gli stessi.

Per impostare una variabile di ambiente sul prompt dei comandi di Windows, utilizzare il comando set.

> imposta TEST = valore

Per impostare una variabile di ambiente su Linux o OS X, utilizzare il comando export. Sebbene le variabili di ambiente siano una parte normale della shell Bash, sono state solo le variabili esportati sarà disponibile nei programmi lanciati dalla shell Bash.

$ export TEST = valore

In alternativa, se la variabile di ambiente verrà utilizzata solo dal programma che sta per essere eseguito, è possibile definire qualsiasi variabile di ambiente prima del nome del comando. La variabile d'ambiente verrà passata al programma durante l'esecuzione, ma non salvata. Eventuali ulteriori invocazioni del programma non avranno questa variabile d'ambiente impostata.

$ EDITOR = gedit cheat environment_variables --add

Variabili d'ambiente utilizzate da Ruby

Esistono diverse variabili d'ambiente che influiscono sul modo in cui agisce l'interprete Ruby.

  • RUBYOPT - Eventuali opzioni della riga di comando qui verranno aggiunte a qualsiasi opzione specificata nella riga di comando.
  • RUBYPATH - Se utilizzato con l'opzione -S sulla riga di comando, i percorsi elencati in RUBYPATH verranno aggiunti ai percorsi cercati durante la ricerca di script Ruby. I percorsi in RUBYPATH precedono i percorsi elencati in PERCORSO.
  • RUBYLIB - L'elenco dei percorsi qui verrà aggiunto all'elenco dei percorsi utilizzati da Ruby per cercare le librerie incluse nel programma con il metodo request. I percorsi in RUBYLIB verranno cercati prima di altre directory.