Чтобы избежать проблем с цитированием, вы можете использовать другую форму spawn
:
pid = Kernel.spawn 'mkdir', '-p', datuh.to_s
Однако зачем вызывать систему?
Dir.mkdir datuh.to_s
Или для включения функции "не выбрасывайте ошибку", предоставляемой -p
:
begin
Dir.mkdir datuh.to_s
rescue SystemCallError => e
raise e unless e.errno == Errno::EEXISTS::Errno
end
Или,
require 'fileutils'
FileUtils.mkdir_p datuh.to_s