我使用Net :: SSH2模块在ssh上执行多个命令。
有时如果我发送命令,我得不到输出。该命令仍然执行我只是没有得到响应。有时我会在我发送的下一个命令的输出中得到响应。
我怀疑它试图在它出现在shell之前得到输出但是它应该至少返回shell" welcome line" (在shell启动时)如果它是第一个命令,但有时我根本没有输出。在这一点上,我只是不知道该怎么做。
var np = Node.prototype;
// {enumerable: true, configurable: true ,get , set} // Ch/FF/Op
// {enumerable: true, configurable: true ,undefined , undefined} // Safari
var npDescriptor = Object.getOwnPropertyDescriptor(np, 'nodeValue');
var npOlderSetter = npDescriptor.set; // undefined
Object.defineProperty(np, 'nodeValue', {
set: function(text){
alert('I want to do something befroe ...');
// because npOlderSetter is undefined , so i can't do this.
// but how can i set the nodeValue to the node ?
// npOlderSetter.call(this, text);
}
})
我必须注意到,我已经尝试过使用python + paramiko并没有使用perl的用例,而且似乎工作得很好(没有经过考验)。
我已经重试了(感谢@jcaron让我重试)推送直到出现提示,这似乎适用于大多数(重要)案例。事实证明,当我第一次尝试该方法时,在现有方法的基础上存在另一个问题,在那里我根本没有得到该特定主机的输出(甚至在延迟/重复命令之后)。再次使用python / paramiko它可以工作但不是我在perl中的实现。但是,由于该特定主机组的输出不那么重要,所以没问题。