Как запустить скрипт .sh из R в Windows? - PullRequest
0 голосов
/ 08 июня 2019

Мне нужно запустить .sh скрипт из R на Windows.

Для этого я попытался вызвать исполняемый файл 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 Ответ

1 голос
/ 09 июня 2019

seq является частью coreutils , поэтому первая проверка должна выполняться, если в вашей установке Cygwin установлены coreutils. Вы можете узнать, как установить новые пакеты на Cygwin здесь .

bash в Cygwin унаследует путь от Windows, и он не включает /usr/bin. Чтобы это исправить, скажите, что он ведет себя так, как будто он вызывается при входе в систему

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

Обратите внимание, что имена файлов должны быть распознаваемы Cygwin. См https://cygwin.com/cygwin-ug-net/using.html#cygdrive

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...