Determining the directory a script is running in

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

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

Dir.pwd is what you are looking for.

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

···

On Thursday 17 November 2005 07:48, Kev Jackson wrote:

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?

--
Stefan

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

Sam

···

On 11/17/05, Kev Jackson <kevin.jackson@it.fts-vn.com> 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