Erstellen einen Bash-Alias
- Erstellen Sie einen Alias in Bash
- Erstellen Sie einen Bash-Alias, der Parameter akzeptiert
- Entfernen Sie den Alias in Bash
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.