IRB에서 현재 작업 디렉토리의 절대 경로를 얻는 방법
-
20-09-2019 - |
문제
나는 그것이 차이를 만들어야하는지 모르겠지만 Windows에서 Ruby를 실행하고 있습니다. 내가하고 싶은 것은 현재 작업 디렉토리의 절대 경로를 얻는 것입니다. 이것이 IRB에서 가능합니까? 분명히 스크립트에서 사용할 수 있습니다 File.expand_path(__FILE__)
그러나 IRB에서 나는 다음을 시도했고 "허가 거부"오류를 얻었습니다.
File.new(Dir.new(".").path).expand
해결책
Dir.pwd
트릭을하는 것 같습니다.
다른 팁
File.expand_path File.dirname(__FILE__)
이 명령이 호출 된 파일에 대한 디렉토리를 반환합니다.
하지만 Dir.pwd
작업 디렉토리를 반환합니다 (실행과 동일한 결과 pwd
터미널에서)
현재 실행 스크립트와 관련된 경로는 루비 2.0 당신은 또한 사용할 수 있습니다
__dir__
따라서 이것은 기본적으로 동일합니다
File.dirname(__FILE__)
이렇게하면 현재 파일의 작업 디렉토리가 제공됩니다.
File.dirname(__FILE__)
예시:
current_file : "/users/nemrow/sitm/folder1/folder2/amazon.rb"
결과 : "/사용자/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"
제휴하지 않습니다 StackOverflow