Gibt es eine Möglichkeit, Aliase in Bash inline zu erweitern?
$bash>alias ll='ls -l '
$bash>ll<tab>
$bash>ls -l
Sie können Ctrl- Alt- drücken e, um die Readline-Funktion auszuführen, die Alias- shell-expand-line
, Verlaufs- und Worterweiterungen ausführt . Beachten Sie, dass dies bei einigen Tastaturen Metanicht der Fall ist Alt. Sie könnten drücken müssen , Escdann Ctrl-e
Die Funktionen alias-expand-line
und history-and-alias-expand-line
sind nicht standardmäßig gebunden. Sie können sie jedoch binden, indem Sie Ihrer ~/.inputrc
Datei Zeilen hinzufügen, die den folgenden ähneln .
"\e\C-l": alias-expand-line
was dazu führen würde, dass Ctrl- Alt- l(Kleinbuchstabe "ell") nur eine Alias-Erweiterung durchführt.
"\C-i": "\e\C-l\e\e"
wird ein Makro erstellt, das sowohlalias-expand-line
als auch ausführtcomplete
. Es hängt von der Bindung aus meiner obigen Antwort ab und davon, dass die Standardbindung für Esc-Esc bestehen bleibt. Sie können weiterhin Esc-Esc ausführen, wenn Sie die Standardvervollständigung ausführen möchten.ESC C-e
für Bash, aberC-x a
für Zsh. Auch unter OS X getestet.Control-x: history-and-alias-expand-line
.Dies könnte tatsächlich eine viel einfachere Möglichkeit sein, das zu tun, was Sie versuchen (
bash
Version> = 4.2.29):shopt
‚sman
Seite: https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.htmlquelle
alias ll='ls -l
würde die Shell bei einem Alias 'll' als Befehl / Funktion 'll' interpretieren, was wahrscheinlich nicht existiert.Das funktioniert nicht. Aber ich rate / hoffe, dass so etwas getan werden kann, um das zu tun, was Sie tun möchten. Sie müssten Ihr eigenes Abschlussskript verwenden. So machst du eins:
Geben Sie nun die vollständige Datei "bash_completion" ( http://caliban.org/bash ) ein und speichern Sie das oben genannte Skript in einer Datei im Verzeichnis "bash_completion.d", die Sie aus den URL-Referenzen erhalten. Lass es mich wissen, wenn es nicht funktioniert.
Vielen Dank.
quelle
Für Leute, die zsh installiert haben und nach einer einfachen Lösung suchen, könnte globalias Ihr Freund sein
Zum Installieren fügen Sie einfach "globalias" zu Ihrer .zshrc-Plugin-Liste hinzu
quelle