Go 언어 개발에서는 때때로 "HijackedResponse"에서 커서 위치의 ANSI 이스케이프 코드를 제거해야 할 때가 있습니다. 이러한 이스케이프 코드는 일반적으로 터미널에 컬러 텍스트를 표시하거나 커서 위치를 제어하는 데 사용되지만 경우에 따라 이를 제거해야 할 수도 있습니다. 이 기사에서는 Go 언어의 문자열 조작 기능과 정규식을 사용하여 "HijackedResponse"에서 이러한 ANSI 이스케이프 코드를 제거하는 방법을 소개합니다. 당신이 Go 언어의 초보자이든 숙련된 개발자이든 이 글은 이 문제를 해결하는 데 도움이 될 것입니다.
go를 사용하여 도커 컨테이너를 (대화형으로) 실행하려고 합니다. 제가 사용하고 있는 코드는 다음과 같습니다:
으아악...그리고 여기로 holdhijackedconnection
전화하세요:
몇 가지 참고사항:
sh
필수입니다. 산 이미지입니다injection.container
컨테이너에 대한 정보만 저장하는 맞춤형 구조입니다 docker
是一个结构体,用于保存 docker 客户端(来自 github.com/docker/docker/client 的 client
예시)애플리케이션을 실행하면 다음과 같은 CLI 결과가 나옵니다.
/usr/app $ ^[[43;12r
내가 아는 한 ^[[43;12r은 커서 위치에 대한 ansi 이스케이프 코드입니다.
ls
或 npm i
등과 같은 명령을 실행할 수 있지만 항상 이러한 ansi 이스케이프 코드를 반환받습니다.
제 질문은, 표준 출력에서 이를 제거할 수 있는 방법이 있느냐는 것입니다.
드디어 찾았습니다.
문제는 github.com/docker/cli/cli/command
包及其 dockercli
而不是 os.std...
을 사용해야 하느냐는 것입니다. 이는 다음과 같이 출력, 오류 및 입력 스트림을 설정하여 이를 관리합니다.
ctrl+c 이스케이프를 추가하려면 containerexeccreate
处的execconfig
中设置detachkeys
。否则执行 exit
로 구분해야 합니다.
위 내용은 Go의 'HijackedResponse'에서 커서 위치 ANSI 이스케이프 코드를 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!