kubernetes Pod에 로그인할 때 발생하는 sh:1:clear:notfound 오류를 수정할 수 있나요?

kubernetes Pod에 로그인할 때 발생하는 sh:1:clear:notfound 오류를 수정할 수 있나요?

다음 명령을 사용하여 kubernetes v1.23 포드에 로그인하면:

exec kubectl exec -i -t -n reddwarf-storage reddwarf-postgresql-postgresql-0 -c reddwarf-postgresql -- sh -c "clear; (bash || ash || sh)"

디스플레이 오류:

sh: 1: clear: not found

docker.io/bitnami/minideb:bullseye기본 이미지로 사용하고 있습니다 . 이 오류는 왜 발생합니까? 이 문제를 피하려면 어떻게 해야 합니까?

답변1

또는 clear으로 바꿔 보세요 . (화면 지우기), 일반적인 명령은 아니지만.tput clearprintf '\33[H\33[J'clear

tput clear표준 이며 printf화면을 지우는 이스케이프 시퀀스는 터미널마다 다를 수 있습니다. termcap 또는 terminfo 데이터베이스는 환경 변수로 지정된 터미널에 대한 시퀀스를 tput clear쿼리합니다 . 여기서는 DEC 터미널에 대한 시퀀스를 하드코딩합니다.$TERMprintfVT100 터미널1970년대 후반부터)ANSI X3.64에 의해 지정됨여기서 \33[H커서를 시작 위치로 이동하고 \33[J화면 끝까지 지워집니다(지원되는 경우 스크롤백 버퍼와 대체 화면만 남음). 이는 대부분의 터미널과 터미널 에뮬레이터에서 인식됩니다.

답변2

오류를 중지하는 가장 쉬운 방법은 clear포드에 로그인하는 데 사용되는 명령어에서 해당 명령어를 삭제하는 것입니다.

다음으로 가장 쉬운 방법은 Stephen의 답변에서 제안한 대체 화면 지우기 명령을 사용하는 것입니다.

세 번째로 간단한 방법은 조직의 포드에 있어야 하는 명령에 대한 요구 사항을 업데이트하고 clear해당 명령을 목록에 추가하는 것입니다. 그런 다음 소프트웨어 구축 프로세스가 새로운 요구 사항을 충족하도록 업데이트됩니다. 그 시점부터 새 포드에 clear명령어가 포함되고 오류가 중지됩니다.

관련 정보