Ich möchte oft in das Verzeichnis wechseln, in dem sich eine bestimmte ausführbare Datei befindet. Also möchte ich etwas wie
%Vor%um in das Verzeichnis zu wechseln, in dem der Python-Befehl installiert ist. Dies ist jedoch offensichtlich illegal, da cd ein Verzeichnis und keine Datei verwendet. Es gibt offensichtlich einige regexp-foo, die ich tun könnte, um den Dateinamen zu streichen, aber das würde den Punkt davon überwinden, ein einfacher Einliner zu sein.
Hier:
%Vor%Bearbeiten:
Noch einfacher (tatsächlich diesmal getestet):
%Vor%Dann "cdfoo python".
Um all diese externen Programme zu vermeiden ('dirname' und viel schlimmer, das nutzlose, aber populäre 'was'), vielleicht ein bisschen umgeschrieben:
%Vor%Dies behebt auch das unübliche Schlüsselwort 'function' von oben und fügt (sehr einfache) Fehlerbehandlung hinzu.
Kann ein Anfang für eine sphistizierte Lösung sein.
Eine Funktion, die ich verwendet habe, ist Pushd / Popd. Diese verwalten einen Verzeichnis-Stack, so dass Sie nicht versuchen müssen, den Verlauf Ihrer Position zu behalten, wenn Sie vor dem Wechseln der Verzeichnisse zum aktuellen Arbeitsverzeichnis zurückkehren möchten.
Zum Beispiel:
%Vor%Ich habe ein bisschen einfache Fehlerbehandlung hinzugefügt, die das Verhalten von cdfoo () dem von dirname für nicht existierende / nonpath Argumente
folgt %Vor%