miércoles, 26 de mayo de 2010

Guardar Variables de Entorno

La mayoría de los usuarios de UNIX o Linux acumulan las configuraciones en los archivos de inicio, tales como .bashrc (para el shell Bash) y .zshrc ( para el shell Z), y esto es para recrear el entorno shell preferido una y otra vez. Los archivos de inicio pueden crear alias, configurar opciones del shell, crear funciones y configurar variables de entorno. Las variables de entorno esenciales son:
  • HOME: la cual apunta a tu directorio home.
  • PATH: enumera los directorios donde buscar para aplicaciones.
  • MANPATH: lista los directorios en los cuales buscar las paginas man.
Para ver que variables de entorno tienes configuradas en tu shell ejecuta el comando

printenv


Así como en el shell, se pueden configurar muchas otras aplicaciones a través de las variables de entorno. Por ejemplo, Java requiere que definas la variable JAVA_HOME para que apunte a la raíz del directorio JRE. De igual forma la suite de Amazon Web Services (AWS) necesita usar la variable AWS_CREDENTIAL_FILE para que apunte al archivo con las credenciales de las claves privadas validas. Aplicaciones individuales tambien proveen variables de entorno. El truco es descubrir las varibales. Felizmente, esto no envuelve mucho trabajo, en vez de eso simplemente consulta la pagina man de la utilidad y busca por la sección titulada, "Variables de Entorno" o "Enviroment Variables".

Por ejemplo, la utilidad less define un numero de variables de entorno útiles:

  • La variable de entorno LESS almacena las opciones de la linea de comando, reduciendo lo que escribes cada vez que invocas less. Por ejemplo, si lees un buen numero de archivos log, coloca lo siguiente en el archivo de inicio del shell (por lo general es el archivo .bashrc)


export LESS='--RAW-CONTROL-CHARACTERS --squeeze-lines --ignore-case'

  • Estas opciones interpretan el control de caracteres (por lo general coloreando), reduce las lineas de ejecución en blanco por una sola linea e ignora letras en coincidencias de cadenas, respectivamente. Si trabajas con código, prueba lo siguiente:

export LESS='--LINE-NUMBERS --quit-if-one-screen --quit-on-intr'


  • La configuración de entorno llamada LESSKEY apunta a un archivo de atajos de teclado. Puedes usar atajos de teclado para configurar el comportamiento de less.

Así como en shell, less puede mantener un historial entre invocaciones. Configura LESSHISTFILE y LESSHISTSIZE para que apunte a un archivo de comandos persistentes y para configurar el numero máximo de comandos para registrar.

Otra buena aplicación de variables de entorno se puede encontrar en el compilador GNU (GCC). GCC define una variedad de variables de entorno para configurar sus operaciones. La variables LIBRARY_PATH, tal como su nombre lo indica, es una lista de directorios para buscar librerías y enlazarlas; la variable COMPILER_PATH trabaja casi como la variable PATH de shell pero es usada internamente por GCC para encontrar los sub-programas usados durante el proceso de compilación.

Se escribes código y procesas archivos binarios para una sola plataforma, quizás nunca uses estas variables de entorno. Sin embargo, si compilas el mismo código para un numero de plataformas, dichas variables son esenciales para acceder a los header de cada plataforma. Quizás configures variables para una colección de valores para una clase de maquina y configura otra colección para otro tipo de maquinas.

De hecho, algo para tener en cuenta en GCC es mantener varios conjunto de variables por aplicación y cambiar de una a otro dependiendo del trabajo. Por ejemplo, muchos desarrolladores en Ruby cambian las variables de entorno PATH, GEM_HOME y GEM_PATH para cambiar de una versión a otra.

1 comentario:

Anónimo dijo...

lo que yo queria, gracias