如何从irb获取当前工作目录的绝对路径

时间:2009-12-21 01:23:18

标签: ruby irb working-directory

我在Windows上运行Ruby虽然我不知道这是否应该有所作为。我想要做的就是获取当前工作目录的绝对路径。这可能来自irb吗?显然,从脚本中可以使用File.expand_path(__FILE__)

但是从irb我尝试了以下内容并得到了“Permission denied”错误:

File.new(Dir.new(".").path).expand

6 个答案:

答案 0 :(得分:473)

Dir.pwd似乎可以解决问题。

http://ruby-doc.org/core/Dir.html#method-c-pwd

答案 1 :(得分:178)

File.expand_path File.dirname(__FILE__)将返回相对于调用此命令的文件的目录。

Dir.pwd返回工作目录(结果与终端中执行pwd相同)

答案 2 :(得分:53)

至于相对于当前执行脚本的路径,因为 Ruby 2.0 你也可以使用

__dir__

所以这与

基本相同
File.dirname(__FILE__)

答案 3 :(得分:4)

这将为您提供当前文件的工作目录。

File.dirname(__FILE__)

示例:

current_file:“/ Usrs /nemrow / SITM / folder1 / folder2 / amazon.rb”

结果:“/ Users / nemrow / SITM / folder1 / folder2”

答案 4 :(得分:3)

如果要获取当前rb文件目录的完整路径:

File.expand_path('../', __FILE__)

答案 5 :(得分:2)

通过这个,您可以获得位于任何目录中的任何文件的绝对路径。

File.join(Dir.pwd,'some-dir','some-file-name')

这将返回

=> "/User/abc/xyz/some-dir/some-file-name"