1

这是我第一次尝试从 CygWin 终端运行 R 文件。我有一个名为 linreg.R 的文件,我与 CygWin 终端中的文件位于同一目录中。在同一目录中有一个 shell 脚本,它接受输入 linreg.R 和另一个 data.txt(位于其他地方)。

当我使用适当的输入运行 bash 时,它一次又一次地给我同样的错误:

$ ./build_model_from_directory.sh linreg.R /workdir/workdir/prod_data_v.txt lm_try
./build_model_from_directory.sh: line 27: type: Rscript: not found
Rscript is needed for linreg.R. Exiting

当我放这样的东西时:

$./build_model_from_directory.sh linreg.Rscript /workdir/workdir/prod_data_v.txt lm_try
Script assumes linreg.Rscript in same directory

这是 linreg.R 的第一行

#!/usr/bin/env Rscript

我尝试设置路径PATH=$PATH:C:\\ProgramFiles\\R\\R-3.0.1\\bin 但没有用。它已更改 PATH,但脚本仍未运行。

任何帮助将不胜感激。

4

2 回答 2

2

将它添加到 .bashrc 文件中可能值得您花时间:

echo 'PATH=$PATH:/cygdrive/c/Program\ Files/R/R-3.2.3/bin' >> .bashrc
于 2016-02-06T01:07:52.267 回答
0

我一次又一次地发现了我犯的错误。

cygpath 用于找出 UNIX 环境中目录路径的实际表示

例子:

$ cygpath 'C:\Program Files\R\R-3.0.1\bin'
/cygdrive/c/Program Files/R/R-3.0.1/bin

所以我们需要确保 PATH 变量有Program Files和没有ProgramFiles. 由于 UNIX 不理解特殊字符,我们需要将空格之间的空格Program Files

 $ PATH=$PATH:/cygdrive/c/Program\ Files/R/R-3.0.1/bin

之后它开始识别 R 文件。

于 2014-04-12T17:36:03.443 回答