【发布时间】:2015-05-04 11:40:00
【问题描述】:
我的工作流程是通过 ESS 包将命令从 emacs 缓冲区发送到 emacs 中的 R 会话。
a=0;
system("ssh remotehost ls")
a = a+1;
当我快速连续运行上述三行时(即提交到R缓冲区),最后a的值为0。当我慢速运行时,a为1。
我只遇到过通过系统运行 ssh 命令的问题。在所有其他情况下,命令会排队并按顺序运行。
我的同事在他们的 R/vim 设置中遇到了完全相同的问题。但我们在 RStudio 中没有同样的问题。
这里的任何建议都会很棒。
【问题讨论】:
-
你的编程问题是?
-
呃 - 抱歉 - 留言板错误?
-
有点。
system()也是一个杂牌。您可能想要运行命令管道并等待完成;另见help(system)。 -
我读了
help(system),这很有趣,虽然没有给我任何想法。system2做同样的事情。分号分隔命令有效,这可能是我的方法。