Xmanager 지식베이스

ZSH에서 여러 줄에 걸친 프롬프트 문자열이 터미널 크기가 변경될 때 잘못 출력되는 경우

최종수정: 2009-08-25 15:38

현상

셸을 ZSH로 쓰는 경우에 있어서 여러 줄에 걸친 프롬프트 문자열이 터미널 크기가 변경될 때 맨 첫줄이 한 번 더 출력되는 문제입니다.
prompt 1st line
prompt 2nd line >

터미널 크기 변경 후
prompt 1st line
prompt 1st line
prompt 2nd line >

테스트 방법 :
  1. zsh 실행 후 다음 명령 실행하여 여러 줄 프롬프트 생성합니다.
    export PROMPT="[%n@%m][%D{%Y.%m.%d %H:%M}][%~]] >"
  2. 창 크기 조절하여 터미널 크기를 변경해 봅니다.
  3. 첫 줄이 한 번 더 출력되는 문제 확인합니다.
원인

2009년 3월 19일 현재 zsh의 버그입니다. 특정 터미널 에뮬레이터에서 발생하는 문제가 아니고 모든 에뮬레이터에서 발생합니다. 

해결 방법

현재 zsh 개발자들에게 이 문제가 보고는 되어 있으나 2009년 3월 19일 현재까지 해결책은 없습니다. zsh에서 여러 줄에 걸친 프롬프트 문자열을 사용하고자 할 경우에는 'print -rP "...."' 명령어를 사용합니다.

ex)export PROMPT=`print -rP "[%n@%m][%D] >"`