从 Ruby 打开带有空格的文件

saw*_*awa 1 ruby escape-characters

当我需要在 emacs 中以编程方式打开名称中有空格的文件时,我该怎么做?我已经在 Ruby 脚本中尝试过这些命令,在反引号内或popen(…)

emacs "foo bar"
Run Code Online (Sandbox Code Playgroud)

或者

emacs foo\ bar
Run Code Online (Sandbox Code Playgroud)

打开两个名为fooand 的文件bar,但我想打开一个名为foo bar.

Kyl*_*nes 5

您在引用时遇到问题,因为您使用传递给 shell 的命令行调用 popen。Ruby 的字符串解析器要么吃双引号,要么吃反斜杠。您可以使用一个字符串数组调用 popen,这将绕过 shell,或者您可以编写emacs foo\\ bar哪个将转义您希望 Ruby 留给 shell 看到的反斜杠。