有人知道如何关闭终端中的颜色标签吗?
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 /系统[m [m [36mntp [m [m [36mserver [m [35mset [m] [m [32 [m [33m = [m [32mes [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
答案 0 :(得分:0)
Shell会话使用伪TTY,因此远程端认为存在真正的终端。如果可能的话,你最好尝试使用exec()
,否则只需使用一个简单的正则表达式从输出中删除所有的转义序列。