gpt4 book ai didi

javascript - 从标准输出读取

转载 作者:行者123 更新时间:2023-11-30 00:11:13 34 4
gpt4 key购买 nike

我正在使用 ssh-exec npm,我想获取远程 ssh 命令的结果,解析它,并将它存储到一个数组中。它正在通过管道传输到标准输出,我不确定如何将它放入变量中。

function GetRemoteLinuxIp(hostAddress) {
console.log(hostAddress);

exec("ifconfig -a | tr -s ' ' | awk -F'[: ]' ' {if (/^[a-z]/) printf $1 \" \"} {if (/inet addr:/) print $4 }' ", {
user: 'user',
host: hostAddress,
password: 'password'
}).pipe(process.stdout)
};

输出是

enp0s3 192.168.1.8
enp0s3 192.168.1.9

最佳答案

如果您不想使用管道,请尝试这样做。它仍然是异步的,因此如果您希望从函数返回此数据,您至少必须使用回调或 promise 之类的东西。

exec("ifconfig -a | tr -s ' ' | awk -F'[: ]' '  {if (/^[a-z]/) printf $1 \" \"}  {if (/inet addr:/) print $4 }' ", {
user: 'user',
host: hostAddress,
password: 'password'
}).on('data', function(data) {
console.log('data:', data);
// parse and push items onto an array
}).on('end', function() {
// no more data will be coming in
// resolve your promise with the array,
// or pass it in to your callback from here
});

您想看一下 streams界面,特别是可读界面。

关于javascript - 从标准输出读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36418405/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com