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.
- El Shell Bash de GNU/Linux 1 – Introducción
- El Shell Bash de GNU/Linux 2 – Tuberías y filtros
- El Shell Bash de GNU/Linux 3 – Variables de entorno
- El Shell Bash de GNU/Linux 4 – Expresiones regulares
- El Shell Bash de GNU/Linux 5 – Sistema de ficheros
- El Shell Bash de GNU/Linux 5.1 – El árbol de directorios estándar
- El Shell Bash de GNU/Linux 5.2 – Tipos de ficheros
- El Shell Bash de GNU/Linux 5.3 – nombres, rutas absolutas y relativas
- El Shell Bash de GNU/Linux 5.4 – Permisos
- El Shell Bash de GNU/Linux 5.5 – Listar ficheros
- El Shell Bash de GNU/Linux 5.6 – Comandos para trabajas con archivos y carpetas
- El Shell Bash de GNU/Linux 5.7 – Otros comandos útiles
- 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.
- El Shell Bash de GNU/Linux 1 – Introducción
- El Shell Bash de GNU/Linux 2 – Tuberías y filtros
- El Shell Bash de GNU/Linux 3 – Variables de entorno
- El Shell Bash de GNU/Linux 4 – Expresiones regulares
- El Shell Bash de GNU/Linux 5 – Sistema de ficheros
- El Shell Bash de GNU/Linux 5.1 – El árbol de directorios estándar
- El Shell Bash de GNU/Linux 5.2 – Tipos de ficheros
- El Shell Bash de GNU/Linux 5.3 – nombres, rutas absolutas y relativas
- El Shell Bash de GNU/Linux 5.4 – Permisos
- El Shell Bash de GNU/Linux 5.5 – Listar ficheros
- El Shell Bash de GNU/Linux 5.6 – Comandos para trabajas con archivos y carpetas
- El Shell Bash de GNU/Linux 5.7 – Otros comandos útiles
- El Shell Bash de GNU/Linux 5.8 – Montaje de sistemas de ficheros
Pingback: El Shell Bash de GNU/Linux 4 – Expresiones regulares | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux 5 – Sistema de ficheros | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux 5.7 – Otros comandos útiles | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux 5.1 – El árbol de directorios estándar | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux 5.6 – Comandos para trabajas con archivos y carpetas | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux 1 | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux 2 – Tuberías y filtros | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux 5.2 – Tipos de ficheros | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux 5.4 – Permisos | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux 5.5 – Listar ficheros | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux | jblanco.org
Pingback: El Shell Bash de GNU/Linux | interlevante.es
Pingback: El Shell Bash de GNU/Linux 5.3 – nombres, rutas absolutas y relativas | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux 5.8 – Montaje de sistemas de ficheros | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux – interlevante.com