답변:
unixy 머신에서 실행중인 경우 백틱에 넣어 루비에서 쉘 명령을 실행할 수 있다는 것을 잊지 마십시오.
`mkdir -p /a/b/c`
구출 경로명 !
Pathname('/a/b/c/d.txt').dirname.mkpath
FileUtils.mkdir_p '/a/b/c'+ 생성 d.txt을 허용한다는 의미 입니까?
Pathname('/a/b/c/d.txt').dirname.mkpath및 File.write('/a/b/c/d.txt', content)없이 filename = '/a/b/c/d.txt'.rpartition('/').last및 구문 분석의 나머지
자신의 논리를 사용할 수도 있습니다.
def self.create_dir_if_not_exists(path)
recursive = path.split('/')
directory = ''
recursive.each do |sub_directory|
directory += sub_directory + '/'
Dir.mkdir(directory) unless (File.directory? directory)
end
end
따라서 경로가 'tmp / a / b / c'이면 'tmp'가 존재하지 않으면 'tmp'가 생성되고 'tmp / a /'등이 생성됩니다.
FileUtils그리고Pathname아마 루비 쉘 스크립트를위한 가장 중요한 도구를 제공합니다.