nodejs ssh客户端禁用颜色
nodejs ssh client disable colors
有人知道如何在终端中关闭颜色标签吗?
var conn = require('ssh2').Client();
var onShell = function(err, stream) {
...
var start = true;
var data_out = '';
stream.on('data', function(data) {
if (/ > $/.test(data)) {
console.log('test oK');
if ( start ) {
stream.write('export\r\n');
start = false;
}
else {
console.log(data_out);
require('fs').writeFileSync('conf.txt', data_out)
stream.end();
conn.end();
}
}
data_out += data;
});
}
сonn.on('ready', function() {
console.log('Client :: ready');
conn.shell(onShell);
}).connect({
host: '62.117.93.138', // my Mikrotik Router
port: 22,
});
在 conf.txt 我看到这样的颜色标签:
[m[36m/system[m [m[36mntp[m [m[36mserver [m[35mset[m
[m[32menabled[m[33m=[m[32myes [m[36m/tool[m [m[36mromon[m
[m[36mport [m[35madd[m [m[32mdisabled[m[33m=[m[32mno
改为:
/system ntp server
set enabled=yes
/tool romon port
add disabled=no
Shell会话使用伪TTY,所以远程端认为有一个真正的终端。如果可能的话,您最好尝试使用 exec()
,否则只需使用一个简单的正则表达式从输出中删除所有转义序列。
在任何节点进程中,可以设置:
process.env.NODE_DISABLE_COLORS = 1
该选项从 v0.3.0 开始就存在,因此您可以在任何地方使用得很好。
有人知道如何在终端中关闭颜色标签吗?
var conn = require('ssh2').Client();
var onShell = function(err, stream) {
...
var start = true;
var data_out = '';
stream.on('data', function(data) {
if (/ > $/.test(data)) {
console.log('test oK');
if ( start ) {
stream.write('export\r\n');
start = false;
}
else {
console.log(data_out);
require('fs').writeFileSync('conf.txt', data_out)
stream.end();
conn.end();
}
}
data_out += data;
});
}
сonn.on('ready', function() {
console.log('Client :: ready');
conn.shell(onShell);
}).connect({
host: '62.117.93.138', // my Mikrotik Router
port: 22,
});
在 conf.txt 我看到这样的颜色标签:
[m[36m/system[m [m[36mntp[m [m[36mserver [m[35mset[m [m[32menabled[m[33m=[m[32myes [m[36m/tool[m [m[36mromon[m [m[36mport [m[35madd[m [m[32mdisabled[m[33m=[m[32mno
改为:
/system ntp server
set enabled=yes
/tool romon port
add disabled=no
Shell会话使用伪TTY,所以远程端认为有一个真正的终端。如果可能的话,您最好尝试使用 exec()
,否则只需使用一个简单的正则表达式从输出中删除所有转义序列。
在任何节点进程中,可以设置:
process.env.NODE_DISABLE_COLORS = 1
该选项从 v0.3.0 开始就存在,因此您可以在任何地方使用得很好。