Páginas

domingo, 1 de febrero de 2009

Variables del entorno

Las variables del entorno almacenan valores que describen las propiedades del entorno de trabajo. Un usuario puede definir sus propias variables o modificar las ya existentes.

Para asignarle valor a una variable en el shell se emplea el operador de asignación tradicional entre el nombre de la variable y el valor asignado (no deben haber espacios intermedios). Ejemplo:
$ MENSAJE = "Hola Barcelona"

Para acceder al valor de una variable en el shell se emplea el carácter $ seguido por el nombre de la variable. Para imprimir en la terminal el valor de una variable se puede utilizar el comando echo. Ejemplo:
$ echo $MENSAJE
Hola Barcelona

Dentro de un shell se pueden ejecutar otros shells que serían hijos del primero (subshells) heredando todo o parte del entorno de trabajo del padre. Para que una variable mantenga su valor en los shells hijos es necesario indicarlo explícitamente mediante el comando export. Ejemplo:
$ export MENSAJE

Tanto la asignación del valor como el exportar una variable se pueden hacer a la vez:
$ export MENSAJE="Hola Barcelona"

Para ver las variables del entorno definidas se puede emplear el comando set. Este además se relaciona con las opciones que es otra forma de regir el comportamiento del shell. Las opciones se activan (on) o desactivan (off). Estas se utilizan para indicar propiedades del shell muy específicas por lo que no nos vamos a detener en ellas. Si se desea conocer más al respecto se puede hacer $ help set | less.

Para eliminar el valor de una variable se emplea el comando unset. Ejemplo:
$ unset MENSAJE

Algunas variables del entorno en bash son:

PATH: guarda la secuencia de caminos donde el shell busca los programas que se intenten ejecutar en la línea de comandos cuando no se utilizan los caminos absolutos. Estos caminos se separan por el carácter ``:''

Ejemplo:
$ echo $PATH
/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin

Para añadir un nuevo camino puede hacerse:
$ export PATH = $PATH: /bin

USER: contiene el login del usuario actual.

PAGER: almacena el lector utilizado por defecto por algunos programas. Por ejemplo, el comando man utiliza esta variable para determinar que paginador empleará, aunque primero chequea otra variable llamada

MANPAGER y si esta no tiene valor entonces acude a PAGER, que de no tener valor tampoco, asumirá al less como paginador por defecto. También asociada a man existe la variable MANPATH donde se especifican los caminos de los manuales que despliega man y LANG para indicar el idioma.

Ejemplo:
$ export PAGER=more
$ man bash

HOME: guarda el directorio base del usuario actual.

Ejemplo:
$ echo $HOME
/home/usuario

EDITOR: contiene el editor por defecto del usuario actual. De no tener valor asociado se utiliza vi. En entornos gráficos se pueden indicar editores visuales aunque para ello se prefiere emplear la variable

VISUAL. Más adelante veremos un ejemplo del uso de EDITOR.

PS1: almacena la estructura del prompt principal del usuario. Permite una serie de macros.

Ejemplos:
\d : contiene la fecha del sistema.
\h : contiene el nombre de la máquina.
\T : contiene la hora del sistema.
\u : contiene el login del usuario.
\w : contiene el nombre completo del directorio de trabajo actual.
\W : contiene la base del nombre del directorio actual (Ej: para /home/usuario/doc base es doc).
\$ : si el ID del usuario es 0 (root) contiene el valor # y sino, $.
\# : contiene el número del comando actual desde la creación del shell.
El prompt principal por defecto tiene la forma: "[\u@\h \W]\$ "
$ export PS1="[\T,\u\#]\$" [14:12:15,usuario 315]$
$ cat >> .bashrc
export PS1="\u@gnulinux\W\$ "
^D (control + d)
lo verá asi: --> debian@gnulinux~$

No hay comentarios:

Publicar un comentario