node.js - Node.js 解析终端输入
问题描述
所以我有一个ssh2
服务器,我希望能够解析输入的命令,我目前正在使用该readline
模块,但即使在使用退格键时它也会输出特殊字符,我不想要每个按键,我只想要按下 Enter 时整个可见行,如果我testing
按预期输入并按 Enter,我的日志输出Line: "testing" 7 long
,但如果我输入testing with backspaces
然后按退格键 5 次,然后输入oops, mistake
,它输出Line: "testing with backspaces⌂⌂⌂⌂⌂oops, mistake" 41 long
。
我如何“解析”这些代码以Line: "testing with backsoops, mistake" 31 long
退出?
const rl = readline.createInterface(shell, shell);
rl.on('line', (line) => console.log(`Line: "${line}" ${line.length} long`));
解决方案
已解决,shell.isTTY
要么 要么false
,undefined
通过更改为
const rl = readline.createInterface({
input: shell,
output: shell,
terminal: true,
});
推荐阅读
- r - 多列的加权平均值
- powerbi - 如何在 power bi 中创建 0...1/Many 关系
- c++ - 我将一个 LinkedList 复制到一个双端队列中,现在我正在尝试显示该列表,但它不起作用。我如何显示这个?
- python - 创建 S3 存储桶时,Aws Lambda python 在 20 秒后超时
- c# - 如何使用 Windows 身份验证向 ASP.NET Core (MVC) 中的特定用户发送 SignalR 通知?
- angular - Angular Highlight 指令以突出显示多个搜索查询
- python - Python:计算数据框中每个条目具有多个值的列的值
- java - 如何在折叠工具栏布局中制作这样的折叠卡片视图?
- assembly - 解释引导扇区汇编代码
- javascript - 打字稿只有奇数类型