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

use*_*057 4 linux r

我目前正在尝试将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")
Run Code Online (Sandbox Code Playgroud)

但是,似乎在运行此操作后qsub script.sh,它会返回错误,说明如何识别多个命令.我做错了吗?谢谢!

Mat*_*erg 8

我认为你在shell中寻找一个"Here document".这允许将文本传递给另一个解释器.例如:

#!/bin/bash
cd documents
module load r

/usr/bin/env Rscript -<<EOF
mem2 <- 4+5
packageVersion("data.table")
save.image("OUT.RData")
EOF
Run Code Online (Sandbox Code Playgroud)

这里,Rscript称为(from /usr/bin/env),在标准输入上,所有后续行都被传递,直到看到标记(此处EOF).