0

我检查了 如何在 R 中使用 system() 或 shell() 执行 git-bash 命令,但这并没有完全解决我的问题。我对 R 很陌生,我在 Windows 上使用它,我正在修改另一个项目。我怀疑最初这个项目是为不同的操作系统编写的。

在某一时刻,主脚本在 for 循环中从 R 内部调用一个 .sh 文件,并使用 system() 来运行它。sh 文件创建一个新目录,将文件从一个目录复制到另一个目录并稍微修改它们(删除第一行并添加另一行)。

调用文件的代码部分是这样的:(run_this是我们要运行的sh文件)

directory_name = "data/clean"
for (i in 1:n) {
    filename = sprintf("%s.json",i)
    cmd = sprintf("run_this.sh %s %s", filename, directory_name)
    system(cmd)
}

我怀疑 system() 在 Windows 中调用命令提示符,我检查过它没有运行这个 sh 文件。但我发现我可以从 Git Bash 运行它们。不幸的是,如果我选择这个选项,我必须一个一个地做,因为 n 很大,这对我来说不是很好。

所以,我想知道 1) 有什么方法可以指示 system() 或 system2() 从 R 内部使用 Git Bash?(我的环境变量有 Git Bash。) 2)从命令提示符运行 sh 文件的任何其他可能的解决方案?

4

0 回答 0