我正在尝试将变量作为参数传递给R中的系统命令。
> system("ls>abc.csv") #this works
> k<-"abc.csv"
> system("ls>k") #this does not work
> system2("ls>k") #this does not work
sh: ls>k: command not found
> system("ls>$k") #this does not work
sh: $k: ambiguous redirect
答案 0 :(得分:1)
您可以使用sodium_crypto_box_keypair_from_secretkey_and_publickey()
来构建操作系统命令并传递给paste
system
答案 1 :(得分:0)
这里的问题是,如果将变量k放入字符串中,R不能识别它。 但是,如果您想一次又一次地使用它,将文件名放在一个变量中确实非常有用。
你能尝试
system(paste0("ls>", k))
如果可行,您还可以编写一个小函数:
"%&%" <- function(a, b)paste0(a, b)
然后您可以做
system("ls>"%&%k)