【问题标题】:Taking simple shell input with javascript使用 javascript 进行简单的 shell 输入
【发布时间】:2017-06-01 19:01:18
【问题描述】:

我试图在运行 javascript 程序时从 linux shell 获取简单的输入。我试过使用readline()prompt(),但它们都抛出Reference Error: readline() is not definedprompt() is not defined

//Decode Bluetooth Packets

var advlib = require('advlib');
console.log("What data to process - If you respond N than what is written inline will be decoded");
var input = require();
if (input != "N") {

    var rawHexPacket = input
    var processedpacket = advlib.ble.process(rawHexPacket);
    console.log(JSON.stringify(processedpacket,null, " "));
}
else {  
    //Put in raw data here!
    var rawHexPacket = 'dfasdfasdfasd4654df3asd3fa3s5d4f65a4sdf64asdf';
    var processedpacket = advlib.ble.process(rawHexPacket);
    console.log(JSON.stringify(processedpacket,null, " "));
}

那么通过 linux shell 获取 javascript 输入的简单方法是什么?

【问题讨论】:

标签: javascript node.js input


【解决方案1】:

我使用链接posted 并将其变成了这个(有效):

var advlib = require('advlib');

var readline = require('readline');

var rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
try {
    rl.question("What data to process - If you respond N then what is written inline will be decoded. ", function(answer) {
        console.log("You said: ",answer);
        if (answer != "N") {

            var rawHexPacket = answer
            var processedpacket = advlib.ble.process(rawHexPacket);
            console.log(JSON.stringify(processedpacket,null, " "));

        }
        else {  
            //Put in raw data here!
            var rawHexPacket = '';
            var processedpacket = advlib.ble.process(rawHexPacket);
            console.log(JSON.stringify(processedpacket,null, " "));

        }
    });
}
catch(err) {
    console.log("Somthing went wrong - was your input valid?");
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-11
    • 1970-01-01
    相关资源
    最近更新 更多