我要问的可能是非常愚蠢的,但我感到困惑和困惑,无法找到解决方案。我有两个版本的可执行文件(linux和windows,例如helloworld和helloworld.exe)。在R提示符下,我想调用一个命令让它在两个操作系统中运行。所以我用系统和Sys.which来调用它,但是它们所在的本地目录,它实际上是名字中的空格所以当我这样做时
system(Sys.which("/home/laptop/dont try this at home/helloworld"))
我得到了
sh:1:/ home / laptop / dont:not found
我猜错误在系统中,因为shell在空格之前具有带“\”的真实路径,例如。
/ home / semolo / dont \ try \ this \ at \ home
但是Sys.which与“”合作。你有什么想法吗?
解决方案 我得到了解决方案
system(gsub(" ", "\\\\ ", Sys.which("/home/laptop/dont try this at home/helloworld")))