나는 색상 코드를 가지고 놀면서 그것이 bash 스크립트에서 어떻게 사용되는지 이해하려고 노력했고, 다음과 같이 \[\] 주위에 없어도 잘 작동한다는 것을 발견했습니다.
이것..
red="\033[38;5;203m"
export PS1="$red\u$green\$(__git_ps1)$blue \W"
..동일한 결과를 제공합니다.
red="\[\033[38;5;203m\]"
export PS1="$red\u$green\$(__git_ps1)$blue \W"
그렇다면 두 번째 형식이 필요한가요?
답변1
프롬프트 \[
에 ... 로 묶이지 않은 인쇄할 수 없는 문자가 포함되어 있으면 \]
쉘은 프롬프트의 너비를 잘못 계산합니다. 결과적으로 커서 위치가 혼란스러워지고 디스플레이가 잘못 업데이트됩니다. 일반적인 예는 길이가 창 너비를 초과할 정도로 긴 명령을 입력하여 다음 줄로 넘어가고 백스페이스를 사용하여 첫 번째 줄로 돌아가는 경우입니다.