Hacer un alias en Bash

Nilesh Katuwal 30 enero 2023
  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.