我有一個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)