我需要在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上,该脚本有效。任何帮助将不胜感激。
答案 0 :(得分:1)
seq
是coreutils的一部分,因此您的第一个检查应该是您的Cygwin安装中是否安装了coreutils。您可以了解如何在Cygwin here上安装新软件包。
bash
将继承Windows的路径,并且不包括/usr/bin
。要解决此问题,请告诉其行为就像在登录时被调用一样
all_arguments <- c("-l", scriptPath, parameters)
请注意,Cygwin需要识别文件名。参见https://cygwin.com/cygwin-ug-net/using.html#cygdrive