Créer un alias Bash

Nilesh Katuwal 30 janvier 2023
  1. Créer un alias dans Bash
  2. Créer un alias Bash qui prend des paramètres
  3. Supprimer l’alias dans Bash
Créer un alias Bash

Un alias est une commande dans les shells qui permet de remplacer un mot par une autre chaîne. Il est principalement utilisé pour raccourcir une commande système ou fournir des paramètres par défaut pour une commande fréquemment utilisée.

C’est similaire à une commande de raccourci, avec la même fonctionnalité que l’écriture de la commande entière.

Créer un alias dans Bash

Prenons un exemple.

$ alias update="sudo apt-get update"

Nous avons créé un alias update, qui est un raccourci pour sudo apt-get update. Maintenant, lorsque nous exécutons update, cela fonctionne de la même manière que sudo apt-get update.

$ update

Production :

[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

Pour lister tous les alias, exécutez la commande ci-dessous.

$ alias

Production :

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'

L’alias nouvellement créé update est également dans la liste avec tous les autres alias.

Créer un alias Bash qui prend des paramètres

L’alias Bash n’accepte pas directement les paramètres. Nous devons écrire une fonction car le mécanisme de la fonction est plus adaptable et fournit les mêmes fonctionnalités qu’auparavant.

Bien qu’un alias ne prenne pas de paramètres, une fonction peut être invoquée de la même manière qu’un alias. Prenons un exemple.

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

Dans l’exemple ci-dessus, une fonction temporaire f est créée. Les arguments sont envoyés lorsque f est appelé à la fin.

L’option -f non définie élimine la définition de la fonction pendant l’exécution de l’alias, garantissant qu’elle ne persiste pas par la suite.

Production :

first a b c last

Supprimer l’alias dans Bash

Nous pouvons supprimer l’alias update créé précédemment en utilisant la commande unalias.

$ unalias update

Vérifions à nouveau la liste de tous les alias.

$ alias

Production :

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'

Comme indiqué dans la sortie, l’alias update est supprimé de la liste des alias.