如何删除golang ssh客户端中的颜色代码

时间:2015-10-16 09:26:12

标签: ssh go xterm

我正在使用golang ssh包构建一个ssh客户端,我将终端模式设置如下

// Set up terminal modes
modes := ssh.TerminalModes{
    ssh.ECHO:          0,     // disable echoing
    ssh.TTY_OP_ISPEED: 14400, // input speed = 14.4kbaud
    ssh.TTY_OP_OSPEED: 14400, // output speed = 14.4kbaud
}

// Request pseudo terminal
if err := session.RequestPty("xterm", 80, 40, modes); err != nil {
    log.Fatalf("request for pseudo terminal failed: %s", err)
}

它工作正常,但是一个小问题,当我使用“ls”命令时,它返回带有颜色代码的名称,如下所示

[root@localhost ~]# ls
ls
anaconda-ks.cfg    [0m[01;34mpeter[0m
[01;32mbuild.sh[0m           [01;34mredis64[0m

这让我觉得难以阅读文件名,所以有没有方法可以删除名称周围的颜色代码? 感谢

1 个答案:

答案 0 :(得分:0)

session.RequestPty与“vt220”终端类型

一起使用

例如:   session.RequestPty(“vt220”,80,40,模式)