programing

루비에서 현재 작업 디렉터리의 절대 경로를 얻는 방법은 무엇입니까?

topblog 2023. 6. 7. 22:06
반응형

루비에서 현재 작업 디렉터리의 절대 경로를 얻는 방법은 무엇입니까?

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

그러나 irb에서 다음을 시도했지만 "권한 거부" 오류가 발생했습니다.

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: "/Users/nemrow/SITM/folder1/folder2/amazon.rb"

결과: "/Users/nemrow/SITM/folder1/folder2"

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

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

반환됩니다.

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

현재 rb 파일의 디렉터리 전체 경로를 가져오려면 다음을 수행합니다.

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

언급URL : https://stackoverflow.com/questions/1937743/how-to-get-the-current-working-directorys-absolute-path-in-ruby

반응형