bash 팁 - 긴 명령은 색상을 추가한 후 같은 줄로 되돌아갑니다.

bash 팁 - 긴 명령은 색상을 추가한 후 같은 줄로 되돌아갑니다.

참고: 저는 Putty를 사용하고 있으며 TERM은 XTERM으로 설정되어 있습니다.

Bash 프롬프트에 색상을 추가했습니다.

PS1="\[\033[0;32m\]\d \t \u\e[1;33m@\H /\W $ \[\033[1;37m\]"

PS1의 영어를 단순화하기 위해 -

${GREEN}\d \t \u{YELLOW}@\H \W $ {reset-color}

이제 명령이 길어서 화면 줄에 맞지 않을 때마다 다음 줄로 이동해야 하지만 그렇지 않고 내가 입력한 각 문자의 첫 문자가 바뀌기 시작합니다. 전체 명령이 존재하지만 완전히 표시되지는 않습니다. 성능이 괜찮아서 왜곡이 보일 뿐입니다.

처음으로 돌아가서 문자를 삭제하려고 하면 상태가 점점 심해지고 전체 명령줄이 위로 올라가면서 화면의 이전 데이터가 지워집니다.

일부 부품을 제거하는 시행착오 끝에 a를 추가하면 @위의 동작이 발생한다는 것을 발견했습니다.

\e[1;33m

이걸 왜 넣었는지는 잘 기억나지 않고, 추적할 수도 없습니다.

이 문제를 해결하는 데 도움을 주실 수 있나요? 긴 명령은 같은 줄이 아닌 다음 줄에 배치해야 합니다.

답변1

"@" 기호 앞의 ANSI 이스케이프 시퀀스는 \[합계 에 포함되지 않습니다 \]. 이것을 첨부하면 괜찮을 것입니다.

PS1='\[\033[0;32m\]\d \t \u\[\e[1;33m\]@\H /\W $ \[\033[1;37m\]'

그런데, "색상 재설정"이라고 부르는 것은 단지 흰색으로 설정하는 것입니다. 실제로 재설정하려면 를 사용하십시오 \033[0m.

관련 정보