Erstellen einen Bash-Alias

Nilesh Katuwal 21 März 2022
  1. Erstellen Sie einen Alias ​​in Bash
  2. Erstellen Sie einen Bash-Alias, der Parameter akzeptiert
  3. Entfernen Sie den Alias ​​in Bash
Erstellen einen Bash-Alias

Ein Alias ​​ist ein Befehl in Shells, der es ermöglicht, ein Wort durch einen anderen String zu ersetzen. Es wird hauptsächlich verwendet, um einen Systembefehl abzukürzen oder Standardparameter für einen häufig verwendeten Befehl bereitzustellen.

Es ähnelt einem Shortcut-Befehl, mit der gleichen Funktionalität wie das Schreiben des gesamten Befehls.

Erstellen Sie einen Alias ​​in Bash

Schauen wir uns ein Beispiel an.

$ alias update="sudo apt-get update"

Wir haben einen Alias ​​update erstellt, der eine Abkürzung für sudo apt-get update ist. Wenn wir jetzt update ausführen, funktioniert es genauso wie sudo apt-get update.

$ update

Ausgabe:

[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

Führen Sie den folgenden Befehl aus, um alle Aliase aufzulisten.

$ alias

Ausgabe:

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'

Der neu erstellte Alias ​​update steht auch in der Liste mit allen anderen Aliasen.

Erstellen Sie einen Bash-Alias, der Parameter akzeptiert

Der Bash-Alias ​​akzeptiert Parameter nicht direkt. Wir müssen eine Funktion schreiben, weil der Funktionsmechanismus anpassungsfähiger ist und die gleiche Funktionalität wie zuvor bietet.

Obwohl ein Alias ​​keine Parameter akzeptiert, kann eine Funktion auf die gleiche Weise wie ein Alias ​​aufgerufen werden. Schauen wir uns ein Beispiel an.

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

Im obigen Beispiel wird eine temporäre Funktion f erstellt. Die Argumente werden gesendet, wenn am Ende f aufgerufen wird.

Die nicht gesetzte Option -f löscht die Funktionsdefinition, während der Alias ​​ausgeführt wird, und stellt sicher, dass er danach nicht verweilt.

Ausgabe:

first a b c last

Entfernen Sie den Alias ​​in Bash

Wir können den zuvor erstellten Alias ​​update entfernen, indem wir den Befehl unalias verwenden.

$ unalias update

Sehen wir uns noch einmal die Liste aller Aliase an.

$ alias

Ausgabe:

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'

Wie in der Ausgabe zu sehen ist, wird der Alias ​​update aus der Alias-Liste entfernt.