system2("bash", "ls") -> 无法执行二进制文件
system2("bash", "ls") -> cannot execute binary file
谁知道为什么
system2("bash", "ls")
会导致(在 R-Gui 和 RStudio 控制台中)
/usr/bin/ls: /usr/bin/ls: cannot execute binary file
而其他 shell 会出现 w/o 问题(参见下面的示例),RStudio 终端中的“bash”也会出现 w/o 问题。如果有补救措施?
工作 system2
示例:
system2("powershell", "dir")
运行 R-3.6.3 on Windows 10 here ...“Git bash”作为“bash”执行。
PS:以防万一有人想知道 - 我也尝试了完整路径,即 /usr/bin/ls
-> 相同的结果
好的 - 这样就可以了
system2("bash", input = "ls")
所以需要 powershell
命令而不是 args = ...
(或者更有趣的是有时 'can')使用 input = ...
参数和 bash
或者如@oguzismail 的评论中所述,这也有效
system2("bash", "-c ls")
以及@Christoph 指出的
system2("ls")
有时也有效(即在某些 RStudio[?] 设置中它不会 return 结果在某些情况下会)。
但我已经注意到,R 版本与不同 RStudio 版本 [或更可能是 Locales] 的不同组合当然不会总是表现一致,这当然也取决于 bash 命令的可用性,例如 ls
(更普遍的是 /usr/bin)是否在 PATH 上。
所以选择最适合你的吧!
谁知道为什么
system2("bash", "ls")
会导致(在 R-Gui 和 RStudio 控制台中)
/usr/bin/ls: /usr/bin/ls: cannot execute binary file
而其他 shell 会出现 w/o 问题(参见下面的示例),RStudio 终端中的“bash”也会出现 w/o 问题。如果有补救措施?
工作 system2
示例:
system2("powershell", "dir")
运行 R-3.6.3 on Windows 10 here ...“Git bash”作为“bash”执行。
PS:以防万一有人想知道 - 我也尝试了完整路径,即 /usr/bin/ls
-> 相同的结果
好的 - 这样就可以了
system2("bash", input = "ls")
所以需要 powershell
命令而不是 args = ...
(或者更有趣的是有时 'can')使用 input = ...
参数和 bash
或者如@oguzismail 的评论中所述,这也有效
system2("bash", "-c ls")
以及@Christoph 指出的
system2("ls")
有时也有效(即在某些 RStudio[?] 设置中它不会 return 结果在某些情况下会)。
但我已经注意到,R 版本与不同 RStudio 版本 [或更可能是 Locales] 的不同组合当然不会总是表现一致,这当然也取决于 bash 命令的可用性,例如 ls
(更普遍的是 /usr/bin)是否在 PATH 上。
所以选择最适合你的吧!