我需要帮助从R 调用Cygwin命令(我使用的是R-Studio,我使用的是Windows 7)。今天我第一次安装了Cygwin,并通过例如Dropbox与Dropbox连接。以下命令:
./dropbox_uploader.sh upload "kokon.jpg"
我的问题是:如何构建R命令从R控制台调用这些函数(通过Cygwin)?让我解释一下,我熟悉了system
和shell
函数的文档,还看到了this的问题,但我仍然对此感到困惑。
提前感谢您提供帮助。
答案 0 :(得分:2)
您有两种选择:
env
下调用CMD
。第一个选项不太好,因为它会为所有附加软件包使用不同的路径,但它会起作用。
要使用第二个选项,请使用dir /s <name>
找到脚本。
例如,我创建了一个脚本foo.sh,并希望运行它。我在我的主目录中创建了它,并使用dir
找到它:
C:\>dir /s foo.sh
Volume in drive C is WINDOWS
VOlume Serial Number is 442D-5D33
Directory of C:\cygwin64\home\u8002287
12/01/2013 01:56 PM 29 foo.sh
foo.sh的内容:
#!/bin/sh
echo "Invoked Foo"
现在要调用,将该Windows路径转换为Cygwin,并在env
下显式调用它:
system('cmd.exe /c c:\\cygwin\\bin\\env /cygdrive/c/cygwin64/home/u8002287/foo.sh', TRUE)
## [1] "Invoked Foo"
这里使用了 env
,因为它并不关心你运行的是可执行文件或shell脚本还是其他脚本。