next up previous contents index
Siguiente: La variable de entorno Subir: Personalizando su entorno Anterior: Guiones del intérprete de   Índice General   Índice de Materias


Variables del intérprete de órdenes y el entorno

El intérprete de órdenes le permite definir variables como la mayoría de los lenguajes de programación. Una variable es simplemente un trozo de datos al que se le da un nombre.

Nótese que Tcsh, así como otros intérpretes del estilo C, usan un mecanismo diferente para inicializar variables del descrito aquí. Esta discusión supondrá el uso del intérprete Bourne, como es Bash (el cual probablemente está usando). Vea la página de manual de Tcsh para más detalles.

Cuando asigna un valor a una variable (usando el operador ``=''), puede acceder a la variable añadiendo a su nombre ``$'', como se ve a continuación.
\begin{tscreen}
/home/larry\char93  {\em foo=\lq\lq hola allí''}
\end{tscreen}
A la variable foo se le da el valor ``hola allí''. Podemos ahora hacer referencia a ese valor a través del nombre de la variable con el prefijo ``$''. La orden
\begin{tscreen}
/home/larry\char93  {\em echo \$foo} \\
hola allí \\
/home/larry\char93
\end{tscreen}
produce el mismo resultado que
\begin{tscreen}
/home/larry\char93  {\em echo \lq\lq hola allí''} \\
hola allí \\
/home/larry\char93
\end{tscreen}

Estas variables son internas al intérprete. Esto significa que sólo éste podrá acceder a las variables. Esto puede ser útil en los guiones; si necesita mantener, por ejemplo, el nombre de un fichero, puede almacenarlo en una variable. Usando la orden set mostrará una lista de todas las variables definidas en el intérprete de órdenes.

De cualquier modo, el intérprete de órdenes permite exportar variables al entorno. El entorno es el conjunto de variables a las cuáles tienen acceso todas las órdenes que ejecute. Una vez que se define una variable en el intérprete, exportarla hace que se convierta también en parte del entorno. La orden export se usa para exportar variables al entorno.

De nuevo, hemos de diferenciar entre Bash y Tcsh. Si está usando Tcsh, deberá usar una sintaxis diferente para las variables de entorno (se usa la orden setenv). Diríjase a la página de manual de Tcsh para más información.

El entorno es muy importante en un sistema UNIX. Le permite configurar ciertas órdenes simplemente inicializando variables con las órdenes ya conocidas.

Veamos un ejemplo rápido. La variable de entorno PAGER se usa por la orden man. Especifica la orden que se usará para mostrar las páginas del manual una a una. Si inicializa PAGER con el nombre del programa, se usará éste para mostrar las páginas de manual en lugar de more (el cuál es usado por omisión).

Inicialice PAGER a ``cat''. Esto hará que la salida de man sea mostrada de una vez, sin pausas entre páginas.
\begin{tscreen}
/home/larry\char93  {\em PAGER=\lq\lq cat''}
\end{tscreen}

Ahora exportamos PAGER al entorno.
\begin{tscreen}
/home/larry\char93  {\em export PAGER}
\end{tscreen}

Pruebe la orden man ls. La página debería volar por su pantalla sin detenerse entre páginas.

Ahora, si inicializa PAGER a ``more'', se usará la orden more para mostrar las páginas del manual.
\begin{tscreen}
/home/larry\char93  {\em PAGER=\lq\lq more''}
\end{tscreen}

Nótese que no hemos de usar la orden export después del cambio de la variable PAGER. Solo hemos de exportar las variables una vez; cualquier cambio efectuado con posterioridad será automáticamente propagado al entorno.

Las páginas de manual para una orden en particular, le informarán acerca del uso de alguna variable de entorno por parte de esa orden; por ejemplo, la página de manual de man explica que PAGER es usado para especificar la orden de paginado.

Algunas órdenes comparten variables de entorno; por ejemplo, muchas órdenes usan la variable EDITOR para especificar el editor por omisión que se usará si es necesario.

El entorno es también usado para guardar información importante acerca de la sesión en curso. Un ejemplo es la variable de entorno HOME, que contiene el nombre del directorio de origen del usuario.
\begin{tscreen}
/home/larry/papers\char93  {\em echo \$HOME} \\
/home/larry
\end{tscreen}

Otra variable de entorno interesante es PS1, la cuál define el indicador (``prompt'') principal que usará el intérprete. Por ejemplo,
\begin{tscreen}
/home/larry\char93  {\em PS1=\lq\lq Su instrucción, por favor: ''} \\
Su instrucción, por favor:
\end{tscreen}

Para volver a inicializar el ``prompt'' a su valor habitual (el cual contiene el directorio actual seguido por el símbolo ``#''),
\begin{tscreen}
Su instrucción , por favor: {\em PS1=\lq\lq {\verb'-w ...
La página de manual de bash describe la sintaxis usada para inicializar el indicador.



Subsecciones
next up previous contents index
Siguiente: La variable de entorno Subir: Personalizando su entorno Anterior: Guiones del intérprete de   Índice General   Índice de Materias
Ismael Olea 2002-09-26