Хорошо, это сводит меня с ума:
`ls #{"/media/music/Miles Davis"}`
не удается из-за пробела между "Miles" и "Davis"
Скажем, я пишу ruby script, и пользователь передает путь к файлу в качестве аргумента. Как я могу сбежать от него и выполнить команду shell-out. Да, да, я знаю, следует избегать обстрелов. Но это надуманный пример, мне все еще нужно это.
Я бы сделал system("ls", ARGV[0])
, но он не возвращает вывод stdout из ls в виде строки, что и делает backticks.
Как избежать того, что вы вставляете в оболочку?