In einem Fisch-Shell-Skript ist es möglich, den Pfad zu erhalten, in dem das Shell-Skript lebt? In bash können Sie dazu die Variable BASH_SOURCE verwenden.Abrufen des Pfads der aktuellen Quelldatei mit Fisch
8
A
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
Verwandte Themen
- 1. Abrufen des absoluten Pfads der ausführbaren Datei mit C#?
- 2. Abrufen des CurrentBackgroundImage-Pfads von einem UIImage
- 3. zsh verkürzen die Länge des aktuellen Pfads
- 4. Abrufen des Pfads für den Projekt-Ressourcenordner
- 5. Abrufen des absoluten Pfads einer Datei
- 6. Abrufen des aktuellen Modulnamens
- 7. Abrufen des vollständigen Pfads der DLLs aus einer PE-Importtabelle
- 8. Programmgesteuertes Abrufen des aktuellen Akkuladestands mit COCOA
- 9. Win32-Funktion zum Abrufen des Pfads zu C: \ ProgramData
- 10. Abrufen des plattformübergreifenden Pfads für die Konfigurationsdatei (C/C++)
- 11. Abrufen der aktuellen Bildnummer
- 12. Abrufen der aktuellen Position mit NodeRED
- 13. Abrufen der aktuellen Uhrzeit des KalendersEintrag der Google Kalender-API
- 14. Abrufen des aktuellen Metrikwerts aus Graphit
- 15. Web-Setup-Projekt - Abrufen des aktuellen Computernamens
- 16. Abrufen des aktuellen Windows-Benutzernamens in Silverlight
- 17. C# und IME - Abrufen des aktuellen Eingabetextes
- 18. AngularJS Abrufen des aktuellen Fabrik-/Servicenamens
- 19. Datei-ID eines bestimmten Pfads abrufen
- 20. Abrufen des aktuellen Datums in SQL Server?
- 21. Thread-ID des aktuellen Methodenaufrufs abrufen
- 22. ANT - Abrufen der aktuellen Aufgabennamen
- 23. Abrufen des Namens der aktuellen Methode in C++
- 24. Abrufen des aktuellen Verzeichnisses in Objective C
- 25. Abrufen des aktuellen Datums für den Zufallszahlengenerator
- 26. Verzeichnis des laufenden Skripts in Fisch Shell
- 27. Tabellenzeilenindex der aktuellen Zeile abrufen
- 28. Abrufen von Datensätzen nach der aktuellen Zeitzone des Benutzers
- 29. Abrufen des aktuellen Standorts mit CLLocationManager in Swift
- 30. Windows-Benutzernamen des aktuellen Benutzers mit PHP abrufen?
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? –
Perfekt! Genau das wollte ich. –
'cd (dirname (status -f)); und pwd gibt den absoluten Pfad unabhängig davon, ob Sie das Skript im aktuellen Verzeichnis ausführen. – Ezbob