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 oder l\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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow