Determining the directory a script is running in


#1

How can I find the directory that the current script is running from?

I need to run a script and (without any arguments), assign a variable
based on the directory that the script is being executed from, ie

c:\my_dir> ruby script.rb

-> @dir = c:\my_dir

or in unix

/home/kj/ruby-projects/ruby script.rb

-> @dir = /home/kj/ruby-projects/

I can’t find what I’m looking for in the pickaxe, can anyone help out?

Kev


#2

Sorry, I discovered that File.expand_path(".") does work after all -
strange I thought I’d tried it and got an error, perhaps it was
something else

Kev


#3

On 11/17/05, Kev J. removed_email_address@domain.invalid wrote:

Sorry, I discovered that File.expand_path(".") does work after all -
strange I thought I’d tried it and got an error, perhaps it was
something else

You may also find Dir.getwd/Dir.pwd useful.

Sam


#4

On Thursday 17 November 2005 07:48, Kev J. wrote:

or in unix

/home/kj/ruby-projects/ruby script.rb

-> @dir = /home/kj/ruby-projects/

I can’t find what I’m looking for in the pickaxe, can anyone help
out?

Dir.pwd is what you are looking for.

$ cd /home/stefan/tmp
$ irb
irb(main):001:0> Dir.pwd
=> “/home/stefan/tmp”