使用SSH提交时无法识别R命令

时间:2015-03-03 00:45:19

标签: linux r ssh

我在远程主机上提交一个shell脚本,该脚本又提交一个R脚本,但错误为R: command not foundRscript: command not found(取决于我是否尝试R CMD BATCH或{{1} })。

我尝试过以下方式提交:

Rscript

脚本 ssh <remote-host> exec $HOME/test_script.sh ssh <remote-host> `sh $HOME/test_script.sh` 包含(已尝试test_script.sh):

Rscript

脚本#!/bin/sh Rscript --no-save --no-restore $HOME/greetme.R exit 0 仅包含greetme.R

我感到慌乱的原因是,当我登录cat("Hello\n")并使用remote-host提交原始脚本时,它会按预期运行。

本地和远程主机的系统规格和R版本完全相同:

sh $HOME/test_script.sh

为什么Linux拒绝识别这些命令?

我更喜欢使用> R.version _ platform x86_64-unknown-linux-gnu arch x86_64 os linux-gnu system x86_64, linux-gnu status major 3 minor 1.0 year 2014 month 04 day 10 svn rev 65387 language R version.string R version 3.1.0 (2014-04-10) nickname Spring Dance R CMD BATCH的解决方案,但如果有使用Rscriptlittler的已知解决方法,我也希望听到它们。

我使用此相关问题作为参考,以及评论中引用的文档:R.exe, Rcmd.exe, Rscript.exe and Rterm.exe: what's the difference?

解决方案的编辑:

正如@ merlin2011建议的那样,一旦我在%R_TERM%中指定了完整路径,一切都按预期工作:

test_script.sh

我也通过提供的建议得到了道路:

#!/bin/sh

/opt/R/bin/Rscript --no-save --no-restore $HOME/greetme.R

exit 0

1 个答案:

答案 0 :(得分:5)

您似乎遇到PATH问题,当您尝试通过R运行命令时,PATH不在ssh上。

如果您在远程主机上指定RRscript的完整路径,则应解决此问题。

如果您不确定完整路径是什么,请尝试登录服务器并运行which R以获取路径。