如何在Windows上从R运行.sh脚本?

时间:2019-06-08 03:53:49

标签: r bash shell

我需要在Windows上的R中运行.sh脚本。

为此,我尝试调用cygwin可执行文件。这是我的代码:

## Define the path to the script .sh and parameters
scriptPath <- "D:/script.sh"
parameters <- c("D:/test/results_","D:/test_text/results_","1","2")

## Define arguments
all_arguments <- c(scriptPath, parameters)

## Run the .sh script
command <- "C:/cygwin64/bin/bash.exe"
output <- system2(command, args=all_arguments, stdout=TRUE)
output

但是,我收到以下错误消息:"D:/script.sh: line 33: seq: command not found"

第33行:

for i in $(seq -f "%04g" $step $step $num_end);

在Linux上,该脚本有效。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

seqcoreutils的一部分,因此您的第一个检查应该是您的Cygwin安装中是否安装了coreutils。您可以了解如何在Cygwin here上安装新软件包。

Cygwin下的

bash将继承Windows的路径,并且不包括/usr/bin。要解决此问题,请告诉其行为就像在登录时被调用一样

all_arguments <- c("-l", scriptPath, parameters)

请注意,Cygwin需要识别文件名。参见https://cygwin.com/cygwin-ug-net/using.html#cygdrive