차이가 있을지 모르겠지만 Windows에서 Ruby를 실행하고 있습니다. 내가하고 싶은 것은 현재 작업 디렉토리의 절대 경로를 얻는 것입니다. irb에서 가능합니까? 분명히 스크립트에서 사용할 수 있습니다File.expand_path(__FILE__)
그러나 irb에서 다음을 시도하고 “Permission denied”오류가 발생했습니다.
File.new(Dir.new(".").path).expand
답변
Dir.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"