Открытие файла с пробелом из Ruby

Когда мне нужно прогматически открыть в emacs файл с пространством в его имени, как я могу это сделать? Я пробовал эти команды из сценария Ruby, внутри backquotes или popen(…) :

 emacs "foo bar" 

или

 emacs foo\ bar 

открывает два файла, каждый из которых называется foo и bar , но я хочу открыть файл с именем foo bar .

У вас проблемы с цитированием, потому что вы вызываете popen с помощью командной строки, которая передается в оболочку. Рубиновый синтаксический анализатор либо употребляет двойные кавычки, либо использует обратную косую черту. Вы можете вызвать popen с массивом строк, который будет обходить оболочку, или вы можете написать emacs foo\\ bar который позволит избежать обратной косой черты, которую вы хотите, чтобы Ruby оставил для оболочки.