【问题标题】:Displaying output message only on success within NodeJS仅在 NodeJS 中成功时显示输出消息
【发布时间】:2019-10-02 18:47:01
【问题描述】:
var abc = require("expect-telnet");

abc("linux123:2031",
console.log("Telnet working"),
function(err) {
  if (err) console.error(err);
});

它在所有场景中都显示消息Telnet working。 我希望它仅在我们成功 telnet 连接时显示。

【问题讨论】:

    标签: javascript node.js javascript-objects node-modules dom-events


    【解决方案1】:

    从您的代码看来,您不必验证您的 telnet,因为我没有看到您发送用户名或密码。如果不是这种情况,您需要发送您的身份验证。

    您需要将其更改为如下所示的代码。 如果不需要,请删除用于身份验证的行。

    var abc = require("expect-telnet");
    
    abc("linux123:2031", [
      {expect: "Username", send: "username\r"},
      {expect: "Password", send: "password\r"},
      {expect: "#"       , send: "command\r" },
      {expect: "#"       , out: function(output) {
        console.log("telnet working");
      }, send: "status\r"}
    ], function(err) {
      if (err) console.error(err);
    });
    

    在不需要身份验证时试试这个: 此代码等待 telnet 在连接后以“#”字符响应。一旦它看到,你应该得到 console.log 信息。

    我希望这会有所帮助。

    var abc = require("expect-telnet");
    
    abc("linux123:2031", [
      {expect: "#"       , out: function(output) {
        console.log("telnet working");
      }, send: "status\r"}
    ], function(err) {
      if (err) console.error(err);
    });
    

    【讨论】:

    • 我没有使用username 进行远程登录。成功时不会打印telnet working。当我手动执行telnet linux123 2013 时,我看到一个空白屏幕但没有错误
    【解决方案2】:

    试试这个。

    var abc = require("expect-telnet");
    
    abc("linux123:2031",function(err,data) {
      if (err) {
          console.error(err);
        }else {
            console.log("Telnet working")
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-31
      • 2016-11-03
      • 1970-01-01
      • 2022-07-11
      • 2016-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多