Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R shell中使用system调用ssh会消耗后续命令_R_Vim_Emacs_Ess_Vim R - Fatal编程技术网

在R shell中使用system调用ssh会消耗后续命令

在R shell中使用system调用ssh会消耗后续命令,r,vim,emacs,ess,vim-r,R,Vim,Emacs,Ess,Vim R,我的工作流程是通过ESS包将命令从emacs缓冲区发送到emacs中的R会话 a=0; system("ssh remotehost ls") a = a+1; 当我快速连续运行上面的三行(即,将它们提交到R缓冲区)时,末尾的a值为0。当我慢慢跑的时候,a是1 我只是在通过系统运行ssh命令时遇到了这个问题。在所有其他情况下,命令排队并按顺序运行 我的同事在R/vim设置上也有同样的问题。但我们在RStudio中没有同样的问题 这里的任何建议都很好。ssh在system()命令执行过程中会吃掉

我的工作流程是通过ESS包将命令从emacs缓冲区发送到emacs中的R会话

a=0;
system("ssh remotehost ls")
a = a+1;
当我快速连续运行上面的三行(即,将它们提交到R缓冲区)时,末尾的a值为0。当我慢慢跑的时候,a是1

我只是在通过系统运行ssh命令时遇到了这个问题。在所有其他情况下,命令排队并按顺序运行

我的同事在R/vim设置上也有同样的问题。但我们在RStudio中没有同样的问题


这里的任何建议都很好。

ssh
system()
命令执行过程中会吃掉任何
stdin
。如果您逐行粘贴它,那么
ssh
在您提交
a=a+1
之前终止,因此它被传递到
R
而不是
ssh
。如果您不希望子进程吃掉终端输入,请使用
system(“ssh..
system(…,input=“”)

而您的编程问题是?呃-对不起-留言板有点错<代码>系统()。您可能希望运行命令管道并等待完成;另请参见
help(system)
。我阅读了
help(system)
,这本书很有趣,但没有给我任何想法<代码>系统2
执行相同的操作。用分号分隔命令是有效的,这可能是我的方法。