Utilisation des variables d'environnement Ruby

Les variables d'environnement sont des variables transmises aux programmes par le ligne de commande ou la coque graphique. Lorsqu'une variable d'environnement est référencée, sa valeur (quelle que soit la variable définie) est alors référencée.

Bien qu'il existe un certain nombre de variables d'environnement qui n'affectent que la ligne de commande ou le shell graphique lui-même (comme PATH ou HOME), il y en a également plusieurs qui affectent directement la façon dont Scripts Ruby exécuter.

Conseil: les variables d'environnement Ruby sont similaires à celles trouvées dans le système d'exploitation Windows. Par exemple, les utilisateurs de Windows peuvent être familiarisés avec une variable utilisateur TMP pour définir l'emplacement du dossier temporaire pour l'utilisateur actuellement connecté.

Accès aux variables d'environnement à partir de Ruby

Ruby a un accès direct aux variables d'environnement via ENV hacher. Les variables d'environnement peuvent être directement lues ou écrites en utilisant le opérateur d'index avec un argument de chaîne.

instagram viewer

Notez que l'écriture dans des variables d'environnement n'aura d'effet que sur les processus enfants du script Ruby. Les autres invocations du script ne verront pas les modifications des variables d'environnement.

#! / usr / bin / env rubis
# Imprimer certaines variables
met ENV ['PATH']
met ENV ['EDITEUR']
# Changer une variable puis lancer un nouveau programme
ENV ['EDITOR'] = 'gedit'
`cheat environment_variables --add`

Passer des variables d'environnement à Ruby

Pour passer des variables d'environnement à Ruby, définissez simplement cette variable d'environnement dans le shell. Cela varie légèrement entre les systèmes d'exploitation, mais les concepts restent les mêmes.

Pour définir une variable d'environnement à l'invite de commandes Windows, utilisez la commande set.

> définir TEST = valeur

Pour définir une variable d'environnement sur Linux ou OS X, utilisez la commande d'exportation. Bien que les variables d'environnement soient une partie normale du shell Bash, seules les variables qui ont été exporté sera disponible dans les programmes lancés par le shell Bash.

$ export TEST = valeur

Alternativement, si la variable d'environnement ne sera utilisée que par le programme sur le point d'être exécuté, vous pouvez définir toutes les variables d'environnement avant le nom de la commande. La variable d'environnement sera transmise au programme lors de son exécution, mais pas enregistrée. Toute autre invocation du programme n'aura pas cette variable d'environnement définie.

$ EDITOR = gedit cheat environment_variables --add

Variables d'environnement utilisées par Ruby

Il existe un certain nombre de variables d'environnement qui affectent le comportement de l'interpréteur Ruby.

  • RUBYOPT - Tous les commutateurs de ligne de commande ici seront ajoutés à tous les commutateurs spécifiés sur la ligne de commande.
  • RUBYPATH - Lorsqu'il est utilisé avec le commutateur -S sur la ligne de commande, les chemins répertoriés dans RUBYPATH seront ajoutés aux chemins recherchés lors de la recherche de scripts Ruby. Les chemins d'accès dans RUBYPATH précèdent les chemins d'accès répertoriés dans PATH.
  • RUBYLIB - La liste des chemins ici sera ajoutée à la liste des chemins que Ruby utilise pour rechercher les bibliothèques incluses dans le programme avec le nécessite une méthode. Les chemins dans RUBYLIB seront recherchés avant les autres répertoires.