zsh-Alias ​​zum Ausführen des aktuellsten übereinstimmenden Verlaufselements

zsh-Alias ​​zum Ausführen des aktuellsten übereinstimmenden Verlaufselements

Ich möchte in zsh einen Alias ​​erstellen, der meinen letzten Terminalbefehl ausführt, der mit beginnt node. Ich kann diesen Befehl mit ausführen !?node, aber ich kann keinen Alias ​​mit erstellen alias N='!?node'. Wie kann ich diesen Alias ​​erstellen?

Antwort1

Die Verlaufserweiterung wird in Ihrer Befehlszeile durchgeführtVorAlias-Erweiterung. Das Einfügen einer Verlaufserweiterung in einen Alias ​​funktioniert also nicht, da nach der Erweiterung des Alias ​​keine Verlaufserweiterung mehr durchgeführt wird.

Die Parametererweiterung erfolgt dagegennachAlias-Erweiterung. Sie können stattdessen Folgendes verwenden:

alias N='"${(z)history[(r)node *]}"'

verwandte Informationen