如何从命令行通过名称指定Rscript的输入参数?

时间:2020-04-14 10:30:40

标签: r bash command-line-interface parameter-passing

我是命令行用法的新手,并且认为其他地方都没有问过这个问题。我正在尝试使Rscript能够从Shell脚本中的命令行运行。基本上,我使用了immanantation框架中的一些工具来读取和注释一些抗体NGS数据,然后将序列分为其克隆家族。要设置相似度阈值,创建者建议使用其shazam包中的函数来设置适当的阈值。

我已经制作了以下简单的脚本来读取和验证参数:

#!/usr/bin/env Rscript

params <- commandArgs(trailingOnly=TRUE)

### read and validate mode argument
mode <- params[1]
modeAllowed <- c("ham","aa","hh_s1f","hh_s5f")
if(!(mode %in% modeAllowed)){

  stop(paste("illegal mode argument supplied. acceptable values are",
             paste(paste(modeAllowed, collapse = ", "), ".", sep = ""), "\nmode should be supplied first",
             sep = " "))

}

### execute function

cat(threshold)

该脚本有效,但是由于每个参数只有有限数量的选项。我想知道是否有一种方法可以从终端传递--mode aa这样的参数?我在网上看到的所有信息似乎都在使用像我的mode <- params[1]这样的代码,我想只有在模式参数为第一个时才起作用?

0 个答案:

没有答案