在shell脚本中,如何结合`Rscript`和`Unix`命令?

我目前正在试图运行一个R文件作为Rscript文件。 我有一个script.sh文件中的以下代码:

 #!/bin/bash cd documents module load r #!/usr/bin/env Rscript mem2 <- 4+5 packageVersion("data.table") save.image("OUT.RData") 

然而,看起来在使用qsub script.sh运行这个之后,它会返回错误信息,说明几个命令如何被识别。 我做错了吗? 谢谢!

我想你正在寻找一个“这里的文件”在壳。 这允许文本传递给另一个解释器。 例如:

 #!/bin/bash cd documents module load r /usr/bin/env Rscript -<<EOF mem2 <- 4+5 packageVersion("data.table") save.image("OUT.RData") EOF 

在这里, Rscript被调用(来自/usr/bin/env ),并且在标准输入上,所有的后续行都被传递,直到标记(这里是EOF )被看到。