我有一个bash脚本来完成一些事情,然后调用Rscript。这里一个简单的例子来说明:将来自调用的参数传递给bash脚本到Rscript
test.sh:
Rscript test.r
test.r:
args <- commandArgs()
print(args)
如何可以在命令行上的结果中的R印刷使用./test.sh hello
你好?
我有一个bash脚本来完成一些事情,然后调用Rscript。这里一个简单的例子来说明:将来自调用的参数传递给bash脚本到Rscript
test.sh:
Rscript test.r
test.r:
args <- commandArgs()
print(args)
如何可以在命令行上的结果中的R印刷使用./test.sh hello
你好?
您可以庆典使用像这样的bash脚本传递所有参数到R脚本:
#!/bin/bash
Rscript /path/to/R/script --args "$*"
exit 0
然后,您可以选择*需要多少从$参数内被丢弃R.
我注意到对付这个问题的方法是:
test.sh:
Rscript test.r $1
test.r:
args <- commandArgs(TRUE)
print(args)
的$1
代表传递到bash脚本的第一个参数。
当调用commandArgs()
而不是commandArgs(TRUE)
时,它不会从bash传递,而是会打印其他名为internal的参数。
对于ASB的回答是:
具有bash脚本的行不工作,“--args”“--args”被作为字面真正的说法,我想通过我的成R脚本。拿出来的作品,即“Rscript /path/to/my/rfile.R arg1 arg2”
bash版本:GNU bash,版本3.2.25(1) - 发行版(x86_64-redhat-linux-gnu) Rscript版本:R脚本前端版本3.0.1(2013-05-16)