我有一个名为GPOPSIM_for_linux
的外部程序,我想从R运行。程序期望用户输入参数文件名称的形式。假设MyParam.txt
是其名称。
在shell中发布printf 'MyParam.txt' | /home/domi89/GPOPSIM/GPOPSIM_for_linux
可以正常工作,但是当我尝试
> cmd <- "printf 'MyParam.txt' | /home/domi89/GPOPSIM/GPOPSIM_for_linux"
> system2(command = shQuote(cmd))
sh: 1: "printf 'MyParam.txt' | /home/domi89/GPOPSIM/GPOPSIM_for_linux": not found
它没有用。
答案 0 :(得分:2)
我怀疑问题是system2
,需要将命令和参数分开。使用原始system
功能时,您可以使用
system('ls -al')
带有system2
语法的是
system2('ls', args = '-al')
答案 1 :(得分:0)
我搞砸了工作目录......
另外,正如Pafnucy所暗示,我需要使用system()
代替system2()
它现在有效:
system("cd ./data; printf 'MyParam.txt' | /home/domi89/GPOPSIM/GPOPSIM_for_linux")