wie das aktuelle Arbeitsverzeichnis absoluten Pfad von irb erhalten
-
20-09-2019 - |
Frage
Ich bin mit Ruby on Windows-obwohl ich weiß nicht, ob das einen Unterschied machen sollte. Alles, was ich tun möchte, ist das aktuelle Arbeitsverzeichnis des absoluten Pfad zu bekommen. Ist dies möglich, von irb? Offenbar aus einem Skript File.expand_path(__FILE__)
ist es möglich mit
Aber von irb habe ich versucht, die folgende und bekam ein „Zugriff verweigert“ Fehler:
File.new(Dir.new(".").path).expand
Lösung
Dir.pwd
scheint den Trick zu tun.
Andere Tipps
File.expand_path File.dirname(__FILE__)
wird das Verzeichnis in Bezug auf die Datei zurückgeben dieser Befehl aus aufgerufen wird.
Aber Dir.pwd
kehrt das Arbeitsverzeichnis (Ergebnisse identisch pwd
in Ihrem Terminal ausgeführt wird)
Wie für den Pfad relativ zum aktuellen ausgeführten Skripts, da Ruby-2.0 Sie können auch verwenden
__dir__
Das ist also im Grunde das gleiche wie
File.dirname(__FILE__)
Dies wird Ihnen das Arbeitsverzeichnis der aktuellen Datei.
File.dirname(__FILE__)
Beispiel:
current_file: "/Users/nemrow/SITM/folder1/folder2/amazon.rb"
Ergebnis: "/ Users / nemrow / SITM / folder1 / folder2"
Wenn Sie den vollständigen Pfad des Verzeichnisses der aktuellen rb Datei erhalten möchten:
File.expand_path('../', __FILE__)
Durch diesen können Sie absoluten Pfad jeder Datei in einem beliebigen Verzeichnis erhalten.
File.join(Dir.pwd,'some-dir','some-file-name')
Dies wird wieder
=> "/User/abc/xyz/some-dir/some-file-name"