使用javascript进行简单的shell输入
我试图在运行javascript程序时从linux shell获取简单的输入。我尝试过使用使用javascript进行简单的shell输入,javascript,node.js,input,Javascript,Node.js,Input,我试图在运行javascript程序时从linux shell获取简单的输入。我尝试过使用readline()和prompt(),但这两种方法都会引发引用错误:未定义readline()或未定义prompt() //Decode Bluetooth Packets var advlib = require('advlib'); console.log("What data to process - If you respond N than what is written inline wil
readline()
和prompt()
,但这两种方法都会引发引用错误:未定义readline()
或未定义prompt()
//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输入的简单方法是什么呢?我使用了该链接,并将其转换为以下内容(有效):
检查并试用我非常喜欢用于处理CLI内容的包npm:minimist
。
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?");
};