可使用 R 语言 base
包的函数 commandArgs
在执行脚本时接收命令行参数。
commandArgs 函数
使用说明
commandArgs
返回一个包含参数信息的向量。
测试脚本 test_args.R
:
1 |
args <- commandArgs() |
尝试加参数执行:
1 |
Rscript test_args.R Hello R |
输出为:
1 |
[1] "/usr/lib64/R/bin/exec/R" |
结果说明
位置 | 说明 | 示例 |
---|---|---|
1 | R 所在的路径 | /usr/lib64/R/bin/exec/R |
2 | Rscript 的参数 | --slave |
3 | Rscript 的参数 | --no-restore |
4 | 运行 R 脚本的路径 | --file=test_args.R |
5 | 脚本参数 flag | --args |
6 | 第一个参数 | Hello |
7 | 第二个参数 | R |
参数解释
可以添加一个参数来削掉 R 脚本参数之前的参数
1 |
args <- commandArgs(trailingOnly = TRUE) |
此时脚本输出为:
1 |
[1] "Hello" |
commandArgs
函数只能接收位置参数,无法接收可选参数(通过 --参数名
显式接收参数)。
如需接收可选参数,可使用 argparse 包。
Writing Enriches Life.