如何从 Go 中的“HijackedResponse”中删除光标位置 ANSI 转义代码?

在Go语言开发中,有时候我们可能会遇到从”HijackedResponse”中删除光标位置的ANSI转义代码的需求。这些转义代码通常用于在终端上展示彩色文本或者控制光标位置,但是在某些情况下,我们可能需要将其删除。本文将介绍如何通过使用Go语言的字符串操作函数以及正则表达式,从”HijackedResponse”中删除这些ANSI转义代码。无论您是Go语言初学者还是有一定经验的开发者,本文都将帮助您解决这一问题。,我正在尝试使用 go 执行(交互)一个 docker 容器。
这是我正在使用的代码:,…并在此处调用 holdhijackedconnection:,一些注意事项:,sh 是必需的,它是高山图像
injection.container 只是保存有关容器的信息,它是一个自定义结构体
docker 是一个结构体,用于保存 docker 客户端(来自 github.com/docker/docker/client 的 client 的实例),如果我执行我的应用程序,我得到的 cli 结果是这样的:,/usr/app $ ^[[43;12r,据我所知,^[[43;12r 是光标位置的 ansi 转义码。
我可以执行命令,例如 lsnpm i 等,但我总是找回这些 ansi 转义码。,我的问题是,有没有办法从标准输出中删除它们?,我最终发现了。,问题是,我应该使用 github.com/docker/cli/cli/command 包及其 dockercli 而不是 os.std...。这可以通过设置输出、错误和输入流来为我管理这个问题,如下所示:,如果要添加ctrl+c转义,需要在containerexeccreate处的execconfig中设置detachkeys。否则执行 exit 将分离它。,
返回顶部
跳到底部

Copyright 2011-2024 南京追名网络科技有限公司 苏ICP备2023031119号-6 乌徒帮 All Rights Reserved Powered by Z-BlogPHP Theme By open开发

请先 登录 再评论,若不是会员请先 注册