Mac与Windows兼容R脚本调用Bash

时间:2016-06-14 14:52:23

标签: r windows bash macos compatibility

当前脚本

我在Mac OSX工作。我有一个R脚本,我喜欢用它来组织我的文件并通过LaTex生成.pdf。为了(1)使用LaTeX生成.pdf并且(2)操作一些文件和目录,我使用来自R的带有system("")的Bash脚本。

从Mac到Windows

我想将这个R脚本(一旦编译成可执行文件)提供给对编程和使用Windows一无所知的人。我不知道Windows提示命令如何工作以及它使用的语言。我担心(1)我不能在Windows上使用函数system("")和(2)我不能使用system("rm dir/file.txt")等bash。

问题

为了让我的脚本与Windows兼容,我认为对我来说最简单的是什么(假设我对Windows一无所知)?我可以在Windows上使用来自R的system("")和Bash吗?

1 个答案:

答案 0 :(得分:0)

我认为最好的解决方案是分别处理两种情况(请记住,windows路径也与unix路径不同)。

if(.Platform$OS.type == "unix") {
  system("rm dir/file.txt")
  [...]
} 
else {
  system("DEL /Q dir\file.txt")
  [...]
}

在Windows cmd中搜索unix等效命令应该没有问题。

另外请记住,如果你需要R脚本来执行LaTeX二进制文件,那么由于LaTeX具有巨大的依赖性,它几乎会破坏可移植性。