El Shell Bash de GNU/Linux 3 – Variables de entorno

El Shell Bash de GNU/Linux 3 – Variables de entorno

En el anterior artículo “El Shell Bash de GNU/Linux 2 – Tuberías y filtros” vimos los comandos que podemos usar en nuestras tuberías en el Shell.

Aquí veremos las Variables de entorno del Shell.

  1. El Shell Bash de GNU/Linux 1 – Introducción
  2. El Shell Bash de GNU/Linux 2 – Tuberías y filtros
  3. El Shell Bash de GNU/Linux 3 – Variables de entorno
  4. El Shell Bash de GNU/Linux 4 – Expresiones regulares
  5. El Shell Bash de GNU/Linux 5 – Sistema de ficheros
  6. El Shell Bash de GNU/Linux 5.1 – El árbol de directorios estándar
  7. El Shell Bash de GNU/Linux 5.2 – Tipos de ficheros
  8. El Shell Bash de GNU/Linux 5.3 – nombres, rutas absolutas y relativas
  9. El Shell Bash de GNU/Linux 5.4 – Permisos
  10. El Shell Bash de GNU/Linux 5.5 – Listar ficheros
  11. El Shell Bash de GNU/Linux 5.6 – Comandos para trabajas con archivos y carpetas
  12. El Shell Bash de GNU/Linux 5.7 – Otros comandos útiles
  13. El Shell Bash de GNU/Linux 5.8 – Montaje de sistemas de ficheros

3. Variables de entorno del Shell

Se utilizan para guardar información del sistema y del usuario, algunas predefinidas por el sistema:

HOME− Directorio personal.

LOGNAME Contiene el nombre del usuario con el que nos conectamos.

HOSTNAME− Nombre de la máquina.

PATH− Lista de directorios donde buscar los programas.

PS1− Establece el prompt primario del sistema. Permite modificar el prompt insertando ciertos caracteres especiales:

\a carácter de campana

\d la fecha en formato “día mes día”

\h el nombre del host hasta el primer `.’

\t la hora actual en formato 24-horas

\u el nombre de usuario del usuario actual

\w el directorio actual de trabajo

En Ubuntu:

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$

SHELL− Intérprete de comandos por defecto.

TERM− Tipo de terminal.

USER− Nombre del usuario.

Desde shell se pueden definir y manejar variables que sirven para configurar el funcionamiento del propio intérprete de comandos. Se puede asignar valores con el signo =.

La fórmula es:

nombre_variable=valor

Donde:

  • nombre_variable puede ser cualquier cadena de caracteres que no incluya “$” y no lleve espacios en blanco
  • valor puede ser cualquier cadena de caracteres. Si contiene espacios en blanco, es conveniente encerrarlo entre comillas, ya que shell interpreta el espacio en blanco como separador de palabras en la línea de órdenes.

Ejemplo:

PRESENTACION = “Hola mundo”

echo $PRESENTACION

Notar que para expandir variables (obtener su valor) se antepone el $ delante del nombre de la variable.

También se puede modificar el valor de las variables de entorno del Shell. Ejemplo:

PS1 = $PRESENTACION

Utilizamos el valor de la variable PRESENTACION del ejemplo anterior para modificar el valor de la variable PS1 que contiene la definición del prompt. Lo que se ve cuando el Shell espera la introducción de órdenes.

Se puede utilizar una variable de entorno dentro del valor de otra:

PS2=secundaria

EJEMPLO=”Mi prompt secundaria es $PS2”

echo $EJEMPLO

Si se desea que no se evalúe la variable, hay que utilizar comilla simple.

EJEMPLO=’Visualiza el valor del prompt con $PS1′

echo $EJEMPLO

El entorno de usuario es una lista de pares variable-valor que el sistema pasa, junto con los argumentos, a cualquier programa que se va a ejecutar.

No todas las variables creadas por el usuario forman parte del entorno. Para que una variable forme parte del entorno hay que exportarla.

También se puede eliminar una variable con unset.

Así, el entorno para un programa que se va a lanzar está constituido por un conjunto de variables originalmente heredadas del Shell, adiciones que han sido exportadas y modificaciones de variables del entorno.

Hay varios comandos para el manejo del entorno, aquí vamos a comentar algunos útiles.

echo

Permite visualizar el valor de una variable. La sintaxis que habrá que utilizar será:

echo $variable

Donde:

  • variable representa el nombre de la variable que se desea visualizar.

Ejemplo:

echo $PATH

Si queremos construir cadenas complejas, que expandan en su interior las variables y los comandos “, hay que usar comillas dobles:

echo “La fecha es: `date` y estamos en $HOSTNAME

Otro ejemplo:

echo “Hola desde $HOSTNAME, a las `date +%H:%M:%S`”

Las comillas que encierran el comando date no son comillas, sino el acento grave, inclinado a la izquierda.

export

Las variables se pueden utilizar para almacenar órdenes o parámetros de uso frecuente.

Hay que tener en cuenta que cuando se crea una variable sólo se puede utilizar en el Shell donde se creó (variable local).

La orden export permite hacerla global. Su sintaxis es:

export variable

Ejemplo: Fabricación de una orden mediante una variable:

VER=’ls -l’

export VER

$VER → escribo la variable en el prompt, con el signo $ delante

Al ejecutar la variable VER, con $VER, se invoca la orden ls -l; es decir, visualizamos el listado largo de archivos.

set

Permite visualizar las variables locales.

set | less

env

Permite visualizar las variables de entorno.

env | less

unset

Permite borrar variables de entorno, excepto: PATH, PS1, PS2; MAILCHECK e IFS.

unset variable

Ejemplo:

unset VER

En el siguiente artículo “4 Expresiones regulares” veremos como usar con comandos como grep las Expresiones regulares. Hasta la próxima.

  1. El Shell Bash de GNU/Linux 1 – Introducción
  2. El Shell Bash de GNU/Linux 2 – Tuberías y filtros
  3. El Shell Bash de GNU/Linux 3 – Variables de entorno
  4. El Shell Bash de GNU/Linux 4 – Expresiones regulares
  5. El Shell Bash de GNU/Linux 5 – Sistema de ficheros
  6. El Shell Bash de GNU/Linux 5.1 – El árbol de directorios estándar
  7. El Shell Bash de GNU/Linux 5.2 – Tipos de ficheros
  8. El Shell Bash de GNU/Linux 5.3 – nombres, rutas absolutas y relativas
  9. El Shell Bash de GNU/Linux 5.4 – Permisos
  10. El Shell Bash de GNU/Linux 5.5 – Listar ficheros
  11. El Shell Bash de GNU/Linux 5.6 – Comandos para trabajas con archivos y carpetas
  12. El Shell Bash de GNU/Linux 5.7 – Otros comandos útiles
  13. El Shell Bash de GNU/Linux 5.8 – Montaje de sistemas de ficheros

15 comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.