我需要从R会话发出unix命令。我在Windows R2 2012服务器上使用RStudio 1.1.383和R3.4.3。
shell()
函数对我来说似乎是正确的,但是当我指定bash shell的路径(从Git for Windows install)时,命令失败,错误代码为127。
shell_path <- "C:\\Program Files\\Git\\git-bash.exe"
shell("ls -a", shell = shell_path)
## running command 'C:\Program Files\Git\git-bash.exe /c ls -a' had status 127'ls -a' execution failed with error code 127
非常确定我的shell路径是正确的:
编辑:
在2018-03-09打了一些比赛后:
shell(cmd=“ls-a”,shell='“c:/program files/git/bin/bash.exe”‘,internative=TRUE,flag=“-c”)
在RStudio中,我们还可以使用knitr
调用bash,并设置块选项:
库(knitr)
```{bash my_bash_chunk, engine.path="C:\\Program Files\\Git\\bin\\bash.exe"}
# Using a call to unix shell
ls -a
```
这里有两件事很突出。如果没有找到命令,Bash将返回退出代码127;您应该尝试运行完全限定的命令名。
我还看到shell是用/c
标志运行的。根据文档,标志
参数指定“在shell下运行命令的开关”,它的默认值为/c
,但是“如果shell是bash或tcsh或sh,默认值将更改为'-c'。”显然,git-bash.exe
不会出现这种情况。
尝试以下更改:
shell_path <- "C:\\Program Files\\Git\\git-bash.exe"
shell("/bin/ls -a", shell = shell_path, flag = "-c")
问题内容: 我不知道如何通过JSch Shell通道发送命令。 我这样做,但是不起作用: 然后我读这样的输入: 问题答案: 如果挂起,则意味着您的“ while”永远不会结束(考虑您的代码可能不太可能),或者正在等待其“源”,即线程原因造成的阻塞。 如果没有看到调试信息,我就无法对您的代码进行故障排除。但是作为建议,您尝试过吗?这个想法是将控制台输入传递到“您的”输出,以便您可以“编写”它。为此,
问题内容: 我使用塔和sqlalchemy。我不断更新架构文件,并删除并重新创建数据库,以便可以制作新的架构。 每次我通过打开MySql查询浏览器并登录并删除数据库/架构来执行此操作。 如何在Ubuntu Linux中删除完整的linux shell命令中的MySQL db / schema? 问题答案: 尝试以下命令:
函数名称:执行 shell 命令 函数功能:执行 shell 命令 函数方法 os.execute(command) 参数 类型 必填 说明 command string 是 需要执行的 shell 命令
问题内容: 我想在其中运行一些命令并处理输出。我曾经用过,但是对于某些命令,例如,它没有给出正确的输出。对于该命令,我的程序没有给出任何输出,但给出了错误提示。但是,同一命令在命令提示符下给出正确的输出。 还有其他方法可以执行包含Java通配符的命令吗? 问题答案: 还有其他方法可以执行包含Java通配符的命令吗? 就在这里。 您的代码中存在三个潜在的问题: 假设您想查看外部命令的输出,则需要照顾
我正在迁移到azure,并使用visual studio在本地开发Azure功能。我已经把代码从本地发布到Azure函数app了。最近,我的笔记本电脑崩溃了,我没有git repo中的代码。我有没有办法从azure门户获取代码,因为我已经在那里发布了最近的代码。谢谢你的帮助。
我有一个案例,我想问我可以解决与Spring壳。我有一个Main.jar应用程序,它有几个部署在Wildly服务器上的Spring任务。在我的例子中,我不能停止或重新部署main.jar,因为必须不停地提供服务。