我目前正在尝试将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运行之后,它会返回错误,说明如何识别多个命令.我做错了吗?谢谢!
解决方法
我认为你在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
这里,调用Rscript(来自/usr/bin/env),在标准输入上,所有后续行都被传递,直到看到标记(此处为EOF).