我正在使用ssh2 node module通过ssh连接到服务器。之后,我运行命令列出打印问题并将其放入数组中,该命令为lpstat -o。
当我在服务器中使用腻子和ssh并运行此命令时,我得到的数据是这样返回的:
LABEL008-2287 printeng 1024 Tue 08 Oct 2019 08:30:20 AM CDT
LABEL008-2288 printeng 1024 Tue 08 Oct 2019 08:30:20 AM CDT
LABEL002-2292 printeng 1024 Tue 08 Oct 2019 10:05:11 AM CDT
LABEL002-2293 printeng 1024 Tue 08 Oct 2019 10:05:11 AM CDT
但是,当我使用nodejs并运行命令时,数据有时会不一致(切断),如下所示:
LABEL008-2287 printeng 1024 Tue Oct 8 08:30:20 2019
LABEL008-2288 printeng 1024 Tue Oct 8 08:30:20 2019
LABEL002-2294 printeng 1024 Tue Oct 8 10:05:12 2019
LABEL002-2298 printeng 1024 Tue Oct 8 10:05:12
2019
LABEL008-2299 printeng 1024 Tue Oct 8 10:05:15 2019
LABEL008-2300 printeng 1024 Tue Oct 8 10:05:17 2019
这很麻烦,因为我需要用新行'\ n \'分割数据并将其放入一个数组中,这样就可以实现:
}).on('data', function(data) {
const myArray = data.toString().split('\n');
我不确定这是否是节点模块本身的问题或限制,或者我是否缺少有关如何处理数据流的选项或配置。