
나는 gnome-terminal
with bash를 사용하고 있는데, 그 줄을 넘어야 하는 명령이 있을 때, 그것은 단지 같은 줄에 머물러 있습니다. 그래서 대신:
echo "abcdefghijklmnopqrstuvwxyz"
나는 얻을 것이다
opqrstuvwxyz""abcdefghijklmn
아니면 그와 비슷한 것. 그러나 Enter를 누르면 명령이 계속 작동합니다. 내 PS1 변수와 관련이 있다고 생각하지만 무엇이 문제인지는 알 수 없습니다. 여기있어:
export PS1='\e[1;35m[\u:\w]\$\e[0;35m '
답변1
이것은 다소 관련이 있는 것 같습니다.
Bash 매뉴얼 페이지
tput
에서는 출력을 래핑하는 것을 권장합니다.\[ \]
이는 Bash가 인쇄할 수 없는 문자를 무시하여 프롬프트의 크기를 올바르게 계산하는 데 도움이 됩니다.
원천.
귀하의 경우 " tput
출력"은 다음과 같습니다. \e[1;35m
, \e[0;35m
(래핑할 두 개의 개별 조각이 있습니다). 그들은 다음 \033[1;35m
과 같이 쓸 수도 있습니다 \033[0;35m
. 일반적으로 인쇄할 수 없는 시퀀스를 래핑해야 합니다.
나는 당신을 수정했습니다 PS1
:
export PS1='\[\e[1;35m\][\u:\w]\$\[\e[0;35m\] '
문제없이 작동하는 것 같습니다.