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