[ruby] irb에서 현재 작업 디렉토리의 절대 경로를 얻는 방법

차이가 있을지 모르겠지만 Windows에서 Ruby를 실행하고 있습니다. 내가하고 싶은 것은 현재 작업 디렉토리의 절대 경로를 얻는 것입니다. irb에서 가능합니까? 분명히 스크립트에서 사용할 수 있습니다File.expand_path(__FILE__)

그러나 irb에서 다음을 시도하고 “Permission denied”오류가 발생했습니다.

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



답변

Dir.pwd 트릭을 수행하는 것 같습니다.

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


답변

File.expand_path File.dirname(__FILE__) 이 명령이 호출 된 파일을 기준으로 디렉토리를 반환합니다.

그러나 Dir.pwd작업 디렉토리를 반환합니다 ( pwd터미널에서 실행하는 것과 동일한 결과 )


답변

현재 실행중인 스크립트와 관련된 경로는 Ruby 2.0 부터 사용할 수 있습니다.

__dir__

이것은 기본적으로

File.dirname(__FILE__)


답변

현재 파일의 작업 디렉토리가 표시됩니다.

File.dirname(__FILE__)

예:

current_file : “/ 사용자 /nemrow/SITM/folder1/folder2/amazon.rb”

결과 : “/ Users / nemrow / SITM / folder1 / folder2”


답변

현재 rb 파일 디렉토리의 전체 경로를 얻으려면 다음을 수행하십시오.

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


답변

이를 통해 디렉토리에있는 모든 파일의 절대 경로를 얻을 수 있습니다.

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

이것은 돌아올 것이다

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


답변