Hacer un alias en Bash

  1. Crear Alias ​​en Bash
  2. Crear alias de Bash que tome parámetros
  3. Eliminar alias en Bash
Hacer un alias en Bash

Un alias es un comando en shells que permite reemplazar una palabra por otra cadena. Se utiliza principalmente para acortar un comando del sistema o proporcionar parámetros predeterminados para un comando de uso frecuente.

Es similar a un comando de acceso directo, con la misma funcionalidad que escribir el comando completo.

Crear Alias ​​en Bash

Veamos un ejemplo.

$ alias update="sudo apt-get update" 

Creamos un alias update, que es un atajo para sudo apt-get update. Ahora, cuando ejecutamos update, funciona igual que sudo apt-get update.

$ update 

Producción :

[sudo] password for username: Get:1 https://typora.io/linux ./ InRelease [793 B] Get:2 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB] Hit:3 http://np.archive.ubuntu.com/ubuntu focal InRelease Hit:4 http://ppa.launchpad.net/micahflee/ppa/ubuntu focal InRelease Ign:5 http://linux.dropbox.com/ubuntu disco InRelease Get:6 http://np.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB] Hit:7 http://linux.dropbox.com/ubuntu disco Release Ign:8 https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 InRelease Hit:10 https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 Release Get:12 http://security.ubuntu.com/ubuntu focal-security/main amd64 DEP-11 Metadata [35.7 kB] Get:13 http://np.archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB] Get:14 http://security.ubuntu.com/ubuntu focal-security/universe amd64 DEP-11 Metadata [66.3 kB] Get:15 http://np.archive.ubuntu.com/ubuntu focal-updates/main amd64 DEP-11 Metadata [278 kB] Get:16 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 DEP-11 Metadata [2,468 B] Get:17 http://np.archive.ubuntu.com/ubuntu focal-updates/universe amd64 DEP-11 Metadata [363 kB] Get:18 http://np.archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 DEP-11 Metadata [940 B] Get:19 http://np.archive.ubuntu.com/ubuntu focal-backports/main amd64 DEP-11 Metadata [7,996 B] Get:20 http://np.archive.ubuntu.com/ubuntu focal-backports/universe amd64 DEP-11 Metadata [11.3 kB] Fetched 1,102 kB in 9s (120 kB/s) Reading package lists... Done 

Para enumerar todos los alias, ejecute el siguiente comando.

$ alias 

Producción :

alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' alias echo='show' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l='ls -CF' alias la='ls -A' alias ll='ls -alF' alias ls='ls --color=auto' alias show='echo' alias update='sudo apt-get update' 

El alias recién creado update también está en la lista con todos los demás alias.

Crear alias de Bash que tome parámetros

El alias de Bash no acepta parámetros directamente. Tenemos que escribir una función porque el mecanismo de la función es más adaptable y proporciona la misma funcionalidad que antes.

Aunque un alias no toma parámetros, se puede invocar una función de la misma manera que un alias. Veamos un ejemplo.

$ alias wargs='f(){ echo first "$@" last; unset -f f; }; f' $ wargs a b c 

En el ejemplo anterior, se crea una función temporal f. Los argumentos se envían cuando se llama f al final.

La opción no establecida -f elimina la definición de la función mientras se realiza el alias, asegurando que no se demore después.

Producción :

first a b c last 

Eliminar alias en Bash

Podemos eliminar el alias update creado anteriormente mediante el comando unalias.

$ unalias update 

Revisemos la lista de todos los alias nuevamente.

$ alias 

Producción :

alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' alias echo='show' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l='ls -CF' alias la='ls -A' alias ll='ls -alF' alias ls='ls --color=auto' alias show='echo' alias wargs='f(){ echo first "$@" last; unset -f f; }; f' 

Como se ve en la salida, el alias update se elimina de la lista de alias.

¿Disfrutas de nuestros tutoriales? Suscríbete a DelftStack en YouTube para apoyarnos en la creación de más guías en vídeo de alta calidad. Suscríbete