programing

Ruby에서 하나의 명령으로 디렉토리 / 파일 / 심볼릭 링크가 있는지 확인하는 방법

nasanasas 2020. 10. 29. 08:12
반응형

Ruby에서 하나의 명령으로 디렉토리 / 파일 / 심볼릭 링크가 있는지 확인하는 방법


디렉토리 / 파일 / 심볼 링크 / 등을 감지하는 한 가지 방법이 있습니까? 엔티티 (더 일반화 됨)가 존재합니까?

디렉토리, 파일 또는 심볼릭 링크가 될 수있는 경로 배열을 확인해야하므로 단일 함수가 필요합니다. 나는 File.exists?"file_path"디렉토리와 파일에 대해서는 작동하지만 심볼릭 링크에는 작동하지 않는다는 것을 알고 있습니다 File.symlink?"symlink_path".


표준 파일 모듈에는 사용 가능한 일반적인 파일 테스트가 있습니다.

RUBY_VERSION # => "1.9.2"
bashrc = ENV['HOME'] + '/.bashrc'
File.exist?(bashrc) # => true
File.file?(bashrc)  # => true
File.directory?(bashrc) # => false

거기에서 원하는 것을 찾을 수 있어야합니다.


OP : "감사합니다. 세 가지 사실 또는 거짓이 모두 필요합니다."

당연히 아니. 좋습니다.

def file_dir_or_symlink_exists?(path_to_file)
  File.exist?(path_to_file) || File.symlink?(path_to_file)
end

file_dir_or_symlink_exists?(bashrc)                            # => true
file_dir_or_symlink_exists?('/Users')                          # => true
file_dir_or_symlink_exists?('/usr/bin/ruby')                   # => true
file_dir_or_symlink_exists?('some/bogus/path/to/a/black/hole') # => false

자신의 기능을 정의 File.exists?(path) or File.symlink?(path)하고 사용하지 않겠습니까?

참고 URL : https://stackoverflow.com/questions/4897568/how-to-check-if-a-directory-file-symlink-exists-with-one-command-in-ruby

반응형