긴 명령을 작성하고 텍스트 줄이 터미널 끝에 도달하면 같은 줄의 시작 부분에서 계속되고(예: "덮어쓰기") 클릭해도 home
실제로는 터미널의 시작 부분에 도달하지 않습니다 . 선.
찾았어요이 문제,이 다른잠깐만요, 이제 색상과 보여주고 싶은 내용과 관련이 생겼네요... 다른 글을 올리게 되어 죄송하지만 제가 직접 선을 편집해 보았으나 정말 이해가 되지 않습니다. 저 좀 도와주실 수 있나요?
내 발췌문은 다음과 같습니다 .bashrc
.
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\][\u@debian]\[\033[01;34m\][\033[01;34m\]\w\]]\033[01;34m\]\$\033[00m\] '
이를 명확히 하기 위해 프롬프트는 다음과 같습니다.
[username@debian][~]$
- 의미는 괄호 안의 사용자 이름@debian
[\u@debian]
, 녹색 입니다.
*예, 평소보다 "debian"이라고 말하고 싶습니다.\h
- 작업 디렉토리도 대괄호 사이에 있으며
[\w]
파란색으로 표시됩니다. $
일반 사용자의 경우- 내가 입력한 텍스트가 흰색으로 나타납니다.
- 나는 루트 프롬프트에 관심이 없습니다.
도와주셔서 감사하고 또 다른 글을 올려서 죄송합니다...
편집: 천천히 읽은 후 다시 작성해 보았습니다.이 완전한 튜토리얼. 하지만 제대로 작동하지 못했습니다. 이제 첫 번째 줄을 "덮어쓰지" 않지만 두 번째 줄에서는 몇 문자 뒤에 두 번째 줄을 몇 문자만 덮고 정상적으로 계속됩니다. 하지만 이 새로운 PS1에서는 UP
키보드의 화살표를 눌러 이전 명령으로 이동하면 정말 이상해집니다.
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[[\]\u\[@debian]\]\[\033[01;34m\]\[[\]\w\[]\]\[\033[01;34m\]\$\[\033[00m\] '
튜토리얼을 올바르게 기억한다면 다음과 같아야 합니다.
\[
인쇄되지 않는 문자의 시퀀스를 시작합니다.\]
인쇄되지 않는 문자 시퀀스를 종료합니다.\033[XXm
색상은 인쇄되지 않는 문자의 시작과 끝 사이에 있어야 합니다. 예를 들어 blue(34)의 경우 다음과 같습니다.\[\033[34m\]
그래서 지금은 작동해야 할 것 같지만 그렇지 않습니다. 물론 제가 제대로 읽은 것은 아닙니다 -.-
답변1
여기에 오타가 있는 것 같습니다.
\[\033[01;34m\][\033[01;34m\] ^
[
이것은 \[
.
\[
...mark는 \]
문자열의 이러한 부분이 열 수에 영향을 미치지 않음을 Bash에 알려줍니다.