从 Ruby 打开带有空格的文件

从 Ruby 打开带有空格的文件

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

emacs "foo bar"

或者

emacs foo\ bar

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

答案1

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

相关内容