zsh-Alias ​​mit Standardargument, aber auch überschreibbar


9

Ich habe derzeit ein solches zsh-Alias-Setup.

alias e="subl"

Dadurch kann ich e somedirein Verzeichnis in SublimeText öffnen. oder e .um das aktuelle Verzeichnis zu öffnen.

Ich möchte jedoch in der Lage .sein, das Standardargument festzulegen, oder ich kann optional ein anderes Verzeichnis übergeben.

Also esollte erweitert werdensubl .

Und e somedirsollte erweitern zusubl somedir

Wie genau stellt man das ein? Ist ein Alias ​​überhaupt das, was ich hier brauche?

Antworten:


20

Ich würde eine Funktion verwenden:

function e() {
    if [ "$1" != "" ]
    then
        subl $1
    else
        subl .
    fi
}

Hinzufügen zu .profile


16
+1 für die Verwendung einer Funktion. Sie können es verkürzen auf:e() { subl "${1:-.}"; }
Glenn Jackman

Dies funktioniert gut, aber Sie verlieren die Befehlsvervollständigung. Obwohl in diesem Fall die Standardeinstellung für das Vervollständigen von Dateinamen nicht schlecht ist.
Kevin Cox
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.