从R运行外部程序,期待用户输入

时间:2015-05-21 10:08:54

标签: linux r

我有一个名为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

它没有用。

2 个答案:

答案 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")