我需要在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上,该脚本可以正常工作。任何帮助都将不胜感激。
发布于 2019-06-10 00:32:05
seq
是coreutils的一部分,因此您首先应该检查您的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
https://stackoverflow.com/questions/56503282
复制相似问题