Skip to content

04 Variables Alias y Funciones

Alan edited this page Jun 13, 2026 · 1 revision

Variables, Alias y Funciones

Tabla de Contenidos

Variables

Una variable en un shell es una funcionalidad que permite al usuario guardar y reutilizar datos. Una variable puede almacenar información del sistema, de un programa o proporcionada por el mismo usuario. Las variables se definen asignando un valor a un nombre, y se almacenan temporalmente en la memoria hasta que finalice la sesión.

Operaciones Básicas de una Variable

Declaración de Variables

Podemos declarar una variable de la siguiente manera:

admin@server:~$ variable='valor'

Uso de Variables

Para usar una variable basta con utilizar el símbolo $ antes del nombre de la variable:

admin@server:~$ echo $variable

Eliminación de Variables

Podemos eliminar una variable podemos utilizar el comando unset:

admin@server:~$ unset variable

Tipos de Variables

Variables Locales

Las variables locales son aquellas que existen únicamente en la sesión actual del shell. Al cerrar la terminal, estas variables se eliminan automáticamente.

Declaración de Variables Locales

Podemos declarar una variable local de la siguiente manera:

admin@server:~$ variable1='un texto'

Tip

Por convención, las variables locales se definen en minúsculas.

Variables de Entorno

Las variables de entorno, también conocidas como variables globales, son aquellas que están disponibles para todos los procesos iniciados desde el shell actual, incluidos comandos, scripts y subshells. El sistema puede definir automáticamente ciertas variables de entorno al iniciar una sesión de usuario o abrir una nueva terminal.

Declaración de Variables de Entorno

Podemos declarar una variable de entorno directamente con el comando export:

admin@server:~$ export VARIABLE='10'

Tip

Por convención, las variables de entorno se definen en mayúsculas.

Asimismo, podemos definir una variable local y convertirla en variable de entorno con el comando export:

admin@server:~$ VARIABLE='10'
admin@server:~$ export VARIABLE
Visualización de Variables de Entorno

Con los comandos env, printenv, y export, podemos visualizar las variables de entorno:

admin@server:~$ env
admin@server:~$ printenv
admin@server:~$ export

Alias

Un alias es un nombre alternativo (o sinónimo) de un comando. Estos son declarados para facilitar el uso de comandos largos y complejos.

Declaración de un Alias

Para declarar un alias, podemos ejecutar el comando alias

admin@server:~$ alias nombre-del-alias=comando

Un ejemplo común de un alias es el del comando ls -l, el cual su alias suele ser ll:

admin@server:~$ alias ll='ls -l'

Ejecución de un Alias

Para ejecutar un alias, simplemente escribes el nombre del alias:

admin@server:~$ ll

Visualización de Alias

Para visualizar los alias actuales, podemos ejecutar el comando alias:

admin@server:~$ alias
alias egrep='grep -E --color=auto'
alias fgrep='grep -F --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -lh'
alias lla='ls -lah'
alias ls='ls --color=auto'

Eliminación de Alias

Para eliminar un alias, podemos ejecutar el comando unalias:

admin@server:~$ unalias nombre-del-alias

Por ejemplo:

admin@server:~$ unalias la

Funciones

Una función de shell, es un bloque de código que ejecuta una serie de instrucciones o comandos, pudiendo implementar funcionalidades de scripting (e.g., condicionales, loops).

Operaciones Básicas de una Función

Declaración de Funciones

Una función puede ser declarada de la siguiente forma:

admin@server:~$ function_name() {
> instrucciones
> }

Por ejemplo:

hola_usuario() {
    echo "¡Hola, usuario!"
}

Tip

La función previa es muy simple y puede ser sustituida por un alias debido a que es un simple comando y no una función (script) más desarrollada.

Ejecución de Funciones

Para ejecutar una función escribimos solo el nombre de la función:

admin@server:~$ hola_usuario

Visualización de Funciones

Existen varios comandos para visualizar las funciones creadas (por el usuario o el sistema) según su función:

  • Para visualizar el código completo de las funciones definidas, podemos ejecutar el comando declare -f:

    admin@server:~$ declare -f
  • Para visualizar solo los nombres de las funciones definidas, podemos ejecutar el comando declare -F:

    admin@server:~$ declare -F
  • Para visualizar el código de una función definida en específico, podemos ejecutar el comando declare -f:

    admin@server:~$ declare -f nombre-de-funcion

Eliminación de Funciones

Para eliminar una función, podemos ejecutar el comando unset -f:

admin@server:~$ unset -f hola_usuario

Tipos de Funciones

Funciones sin Parámetros

Una función sin parámetros es aquella que no necesita que se le pase ningún argumento

Declaración de una Función sin Parámetros

Un ejemplo sencillo de una función sin parámetros es el siguiente:

hola_usuario() {
    echo "¡Hola, usuario!"
}

Funciones con Parámetros

Una función con parámetros es aquella que necesita que se le pase un argumento

Declaración de una Función con Parámetros

Un ejemplo sencillo de una función con parámetros es el siguiente:

hola_usuario() {
    if [ $# -ge 1 ]; then
        local usuario="$*"
        echo "¡Hola, $usuario!"
    else
        echo "Error: no se proporcionaron argumentos"
        echo "Solución: Proporciona mínimo un argumento"
    fi
}

La función previa valida si se proporcionó uno o más parámetros, de ser así, imprime saludo hacia el usuario (argumentos proporcionados), en caso contrario imprime un mensaje de error.

Ejecución de una Función con Parámetros

Para ejecutar una función con parámetros, es necesario ejecutar la función con un número de parámetros válido. Haciendo uso de la función anterior, tenemos los siguientes ejemplos de ejecución:

admin@server:~$ hola_usuario
Error: no se proporcionaron argumentos
Solución: Proporciona mínimo un argumento
admin@server:~$ hola_usuario Richard
¡Hola, Richard!
admin@server:~$ hola_usuario Richard Stallman
¡Hola, Richard Stallman!
admin@server:~$ hola_usuario "Richard Stallman"
¡Hola, Richard Stallman!

Variables, Alias y Funciones Persistentes

Al declarar una variable, alias o función en la terminal, esta solo es válida durante la sesión (o subsesiones) de la terminal, es decir, es temporal. Para asegurarnos de que estas sean permanentes, es necesario declararlos en los archivos de configuración de la shell (e.g., ~/.bashrc, ~/.zshrc), por ejemplo:

#
# ~/.bashrc
#
...
# Variables de Entorno
export PATH="$HOME/bin:$PATH"

export EDITOR='nano'
export VISUAL='nano'

export LESS='-R'
export PAGER='less'

# Alias
alias ls='ls --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -lh'
alias lla='ls -lah'

alias grep='grep --color=auto'
alias egrep='grep -E --color=auto'
alias fgrep='grep -F --color=auto'

# Funciones
hola_usuario() {
    if [ $# -ge 1 ]; then
        local usuario="$*"
        echo "¡Hola, $usuario!"
    else
        echo "Error: no se proporcionaron argumentos"
        echo "Solución: Proporciona mínimo un argumento"
}

Introducción a los Sistemas Operativos

Introducción a Linux

Licencias de Software

Archivos y Directorios

Introducción a la CLI

Manipulación de Archivos y Directorios

Documentación y Exploración de Comandos

Redirección

Búsqueda de Archivos y Texto

Editores de Texto de Terminal

Gestión de Usuarios y Grupos

Propiedad y Permisos

Herramientas Esenciales

Hardware

Apéndice

Clone this wiki locally