Las variables de entorno son variables que los programas pasan a los programas. línea de comando o el caparazón gráfico. Cuando se hace referencia a una variable de entorno, se hace referencia a su valor (cualquiera que sea la variable definida).
Aunque hay una serie de variables de entorno que solo afectan la línea de comando o el shell gráfico en sí (como PATH o HOME), también hay varias que afectan directamente cómo Guiones de rubí ejecutar.
Consejo: las variables de entorno Ruby son similares a las que se encuentran en el sistema operativo Windows. Por ejemplo, los usuarios de Windows pueden estar familiarizados con una variable de usuario TMP para definir la ubicación de la carpeta temporal para el usuario actualmente conectado.
Acceso a variables de entorno desde Ruby
Ruby tiene acceso directo a variables de entorno a través de ENV picadillo. Las variables de entorno se pueden leer o escribir directamente mediante el uso de operador de índice con un argumento de cadena.
Tenga en cuenta que escribir en variables de entorno solo tendrá un efecto en los procesos secundarios del script Ruby. Otras invocaciones del script no verán los cambios en las variables de entorno.
#! / usr / bin / env ruby
# Imprimir algunas variables
pone ENV ['RUTA']
pone ENV ['EDITOR']
# Cambiar una variable y luego lanzar un nuevo programa
ENV ['EDITOR'] = 'gedit'
`cheat environment_variables --add`
Pasar variables de entorno a Ruby
Para pasar variables de entorno a Ruby, simplemente configure esa variable de entorno en el shell. Esto varía ligeramente entre los sistemas operativos, pero los conceptos siguen siendo los mismos.
Para establecer una variable de entorno en el símbolo del sistema de Windows, use el comando set.
> establecer TEST = valor
Para establecer una variable de entorno en Linux o OS X, use el comando de exportación. Aunque las variables de entorno son una parte normal del shell Bash, solo las variables que han sido exportado estará disponible en programas lanzados por el shell Bash.
$ export TEST = valor
Alternativamente, si la variable de entorno solo será utilizada por el programa a punto de ejecutarse, puede definir cualquier variable de entorno antes del nombre del comando. La variable de entorno se pasará al programa a medida que se ejecuta, pero no se guardará. Cualquier otra invocación del programa no tendrá esta variable de entorno establecida.
$ EDITOR = gedit cheat environment_variables --add
Variables de entorno utilizadas por Ruby
Hay varias variables de entorno que afectan la forma en que actúa el intérprete de Ruby.
- RUBYOPT: cualquier modificador de línea de comandos aquí se agregará a cualquier modificador especificado en la línea de comando.
- RUBYPATH: cuando se usa con el modificador -S en la línea de comando, las rutas enumeradas en RUBYPATH se agregarán a las rutas buscadas al buscar scripts Ruby. Las rutas en RUBYPATH preceden a las rutas enumeradas en PATH.
- RUBYLIB: la lista de rutas aquí se agregará a la lista de rutas que Ruby usa para buscar bibliotecas incluidas en el programa con requiere método. Las rutas en RUBYLIB se buscarán antes que otros directorios.