2010-01-10 13 views

Antwort

9

Eine Möglichkeit besteht darin, den Befehl status zu verwenden.

z.

~/tmp> echo status -f > show_filename.fish 
~/tmp> fish show_filename.fish 
/home/foo/tmp/show_filename.fish 

-

Ah, sorry - von Ihrem Kommentar zu urteilen, falsch verstanden habe ich die Frage. Ich dachte, du meinst den vollständig qualifizierten Pfad anstelle des Skriptverzeichnisses.

Sie könnten einfach das Statusergebnis an dirname senden. Es ist keine eingebaute Funktion von Fischen, wie der Status, aber Fisch tendiert dazu, so viel von dieser Funktionalität wie möglich auszulagern (siehe "Das Gesetz des Minimalismus", drüben im Fisch design doc). Ich kann dafür in den Dokumenten keine besseren Befehle sehen, also ist das vielleicht so gut, wie wir jetzt bekommen können?

das Beispiel Änderung, ändern Sie die Inhalte von show_filename.fish zu sein:

dirname (status -f) 

Jetzt sollten Sie:

~/tmp> fish show_filename.fish 
/home/foo/tmp 
+0

Dieser ziemlich nahe ist. Gibt es eine reine Fischart, die /home/foo/tmp/show_filename.fish Zeichenfolge zu analysieren, um/home/foo/tmp zu erhalten? –

+0

Perfekt! Genau das wollte ich. –

+0

'cd (dirname (status -f)); und pwd gibt den absoluten Pfad unabhängig davon, ob Sie das Skript im aktuellen Verzeichnis ausführen. – Ezbob

Verwandte Themen