Suche…
Einführung
Shell-Aliase sind eine einfache Möglichkeit, neue Befehle zu erstellen oder vorhandene Befehle mit eigenem Code zu umschließen. Sie überlappen sich etwas mit Shell- Funktionen , die jedoch vielseitiger sind und daher oft bevorzugt werden sollten.
Bemerkungen
Der Alias ist nur in der Shell verfügbar, in der der Aliasbefehl ausgegeben wurde.
Um den Alias zu erhalten, sollten Sie ihn in Ihre .bashrc
Erstellen Sie einen Alias
alias word='command'
Beim Aufruf von word
wird der command
. Alle Argumente, die an den Alias übergeben werden, werden einfach an das Ziel des Alias angehängt:
alias myAlias='some command --with --options'
myAlias foo bar baz
Die Shell führt dann aus:
some command --with --options foo bar baz
Um mehrere Befehle in denselben Alias einzuschließen, können Sie sie mit &&
. Zum Beispiel:
alias print_things='echo "foo" && echo "bar" && echo "baz"'
Alle Aliase auflisten
alias -p
listet alle aktuellen Aliase auf.
Erweitern Sie den Alias
Angenommen, dieser bar
ist ein Alias für someCommand -flag1
.
Geben Sie in die Befehlszeile bar
und drücken Sie dann Strg + Alt + e
Sie erhalten someCommand -flag1
wo die bar
stand.
Entfernen Sie einen Alias
Um einen vorhandenen Alias zu entfernen, verwenden Sie:
unalias {alias_name}
Beispiel:
# create an alias
$ alias now='date'
# preview the alias
$ now
Thu Jul 21 17:11:25 CEST 2016
# remove the alias
$ unalias now
# test if removed
$ now
-bash: now: command not found
Umgehen Sie einen Alias
Manchmal möchten Sie möglicherweise einen Alias temporär umgehen, ohne ihn zu deaktivieren. Um mit einem konkreten Beispiel zu arbeiten, betrachten Sie diesen Alias:
alias ls='ls --color=auto'
Angenommen, Sie möchten den Befehl ls
ohne den Alias zu deaktivieren. Sie haben mehrere Möglichkeiten:
- Verwenden Sie den
command
builtin:command ls
- Verwenden Sie den vollständigen Pfad des Befehls:
/bin/ls
- Fügen Sie im Befehlsnamen ein
\
überall hinzu, zum Beispiel:\ls
oderl\s
- Zitieren Sie den Befehl:
"ls"
oder'ls'
Das BASH_ALIASES ist ein internes Bash-Assoc-Array
Aliase sind Kurzbefehle für Befehle, die in interaktiven Bash-Instanzen definiert und verwendet werden können. Sie werden in einem assoziativen Array namens BASH_ALIASES gehalten. Um diese Variable in einem Skript verwenden zu können, muss sie in einer interaktiven Shell ausgeführt werden
#!/bin/bash -li
# note the -li above! -l makes this behave like a login shell
# -i makes it behave like an interactive shell
#
# shopt -s expand_aliases will not work in most cases
echo There are ${#BASH_ALIASES[*]} aliases defined.
for ali in "${!BASH_ALIASES[@]}"; do
printf "alias: %-10s triggers: %s\n" "$ali" "${BASH_ALIASES[$ali]}"
done