답변:
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
아마 루비 쉘 스크립트를위한 가장 중요한 도구를 제공합니다.