Can';t从R调用cygwin命令

Can';t从R调用cygwin命令,r,cygwin,R,Cygwin,我在windows box中工作,并使用cygwin模拟unix shell。我也有R,想从它运行任何系统命令。我相信系统('command')会做到这一点,但它并不适用于每个'command'。例如system('ls')返回/cygdrive/c/cygwin/bin/ls:write error:Bad file descriptor,我认为这是因为R调用ls>&-也返回相同的错误。那么如何解决这个问题呢?我希望您仍然对解决方案感兴趣。以下是我所拥有的: 从Windows启动R并通过路径

我在windows box中工作,并使用cygwin模拟unix shell。我也有R,想从它运行任何系统命令。我相信
系统('command')
会做到这一点,但它并不适用于每个
'command'
。例如
system('ls')
返回
/cygdrive/c/cygwin/bin/ls:write error:Bad file descriptor
,我认为这是因为R调用
ls>&-
也返回相同的错误。那么如何解决这个问题呢?

我希望您仍然对解决方案感兴趣。以下是我所拥有的:

  • 从Windows启动R并通过路径调用cygwin可执行文件:
    system('C:/cygwin/bin/ls.exe')
  • 从cygwin中启动R:
    • 启动cygwin
    • 设置路径:
      export path=“$path:/cygdrive/c/program/R-2.9.2/bin”
    • 调用R:
      Rgui.exe
    • 调用shell:
      system('ls')
问候,


马丁。

如何调用R?您是否尝试从Cygwin中调用R,然后中断到shell?您是否尝试使用
shell
而不是
system
?我刚才尝试过,它返回相同的错误+又一个“ls”执行失败,错误代码为1I。我无法重现您的问题。你到底是如何告诉Windows使用cygwin作为默认shell的?R的哪个版本?您是否安装了Rtools?什么版本的Rtools?