Ubuntu VM의 $PS1이 실제 프롬프트와 일치하지 않습니다.

Ubuntu VM의 $PS1이 실제 프롬프트와 일치하지 않습니다.

Virtual BoxUbuntu VM을 실행 중입니다 Vagrant.

vagrant@lucid64:~$ uname -a
Linux lucid64 2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 11:26:59 UTC 2012 x86_64 GNU/Linux

내 $PS1 변수는 실제로 프롬프트와 일치하지 않으며 훨씬 더 복잡합니다.

vagrant@lucid64:~$ echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$

저는 위에 표시된 대로 $PS1과 프롬프트 사이의 관계에 대한 설명을 찾고 있습니다 $USER@$HOST:$PWD\$.

예를 들어, 이 가상 머신을 호스팅하고 Mac인 일반 노트북에서는 다음과 같이 깔끔하고 간단합니다.

~@12:10:20>echo $PS1
\w@\t>

답변1

Ubuntu는 $PS1기본적으로 세 부분으로 구성됩니다.

  • \[\e]0;\u@\h: \w\a\]

    이는 터미널 제목 텍스트를 로 설정하는 이스케이프 시퀀스입니다 $USER@$HOST: $PWD.

    \[\]인쇄할 수 없는 문자 시퀀스의 시작과 끝을 나타냅니다 .

    \eASCII 이스케이프 문자입니다.

    ]0;특정 이스케이프 시퀀스입니다터미널 아이콘 및 제목 설정xterm호환되는 터미널 에서

    \u현재 사용자의 사용자 이름으로 확장됩니다.

    @문자 그대로 @입니다.

    \h호스트 이름으로 확장됩니다.

    :문자 그대로의 콜론 문자입니다.

    \w현재 작업 디렉터리로 확장합니다.

    \aASCII 벨 문자입니다.

  • ${debian_chroot:+($debian_chroot)}

    chroot 환경에 있는 경우 괄호 안의 chroot 이름으로 확장됩니다.

    ${var:+OTHER}$OTHER설정된 경우 평가되고, var그렇지 않은 경우 빈 문자열로 평가됩니다. 파일의 내용으로 초기화된 변수입니다 $debian_chroot. 따라서 chroot 환경에 이 파일이 포함되어 있으면 프롬프트에는 현재 쉘이 실행 중인 chroot를 나타내는 파일 내용이 포함됩니다./etc/bash.bashrc/etc/debian_chroot

  • \u@\h:\w\$

    흔히 볼 수 있는 실제 팁입니다.

    \u, @, \h, :, \w위와 같이.

    \$유효 uid가 0(즉, 사용자가 루트)이면 숫자 기호 #으로 확장되고, 그렇지 않으면 달러 기호 $로 확장됩니다.

자원

답변2

이것을 깨는 것이 아마도 가장 쉬울 것입니다!

첫 번째 부분에서는:

\[\e]0;\u@\h: \w\a\]

첫 번째 부분(bits \[\e]0;)에는 터미널 제어 문자가 포함되어 있습니다(일반적으로 bash 프롬프트의 색상 및 창 제목 업데이트 등에 사용됩니다. 아래에서 자세히 설명하겠습니다.)

두 번째 부분( )은 프롬프트 부분을 \u@\h:제공 하고 현재 작업 디렉터리의 경로를 표시합니다. 이것은​user@host\w\aASCII 벨 문자.

빠른 검색본질적으로 $PS1의 해당 부분은 bash터미널 창의 제목을 프롬프트와 동일한 값으로 업데이트 하라고 지시한다는 사실이 밝혀졌습니다.이와 같이. (그림의 쉘은 이라는 것을 알고 있지만 zsh동일한 원칙이 적용됩니다.) 기본적으로 첫 번째 "문구" 전체가 현재 창 제목을 업데이트합니다.


${debian_chroot:+($debian_chroot)}

위 부분은 "변수가 정의된 경우 $debian_chroot(즉, 비어 있지 않은 경우) 프롬프트에 문자열을 포함합니다"를 의미합니다. 나는 이 변수가 $debian_chroot시스템이 루트화될 때만 값을 갖는다고 확신합니다 .자세한 내용을 보려면 여기를 클릭하세요.


\u@\h:\w\$

마지막 부분에서는 표준 user@host: ~/$프롬프트를 생성합니다.

화타이

편집: 이런, 누군가가 나를 때린 것 같습니다.

관련 정보