내 bash 프롬프트가 엉망이 되었습니다. 무슨 일이 일어났나요?

내 bash 프롬프트가 엉망이 되었습니다. 무슨 일이 일어났나요?

방금 다음을 입력하여 현재 bash에 대한 버전 정보를 얻을 수 있다고 생각했습니다.

bash -v

이렇게 하면 표준 출력에 많은 코드 줄이 표시되고 평소 프롬프트 위에 한 줄이 남습니다.

printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"
[foo@bar path]$

이것이 무엇인지(프롬프트를 렌더링하는 코드) 알 것 같지만 제거하는 방법을 모르겠습니다. 누가 하는가?

답변1

호출한 새 셸을 exit종료하려면 입력하기만 하면 됩니다 .bash

설명하다

-v옵션은 당신이 생각하는 것과 다릅니다. 에서 bash(1):

-v 읽기 라인 변수 이름과 값을 다시 읽을 수 있는 형식으로 표시합니다.

따라서 명령이 수행하는 작업은 출력에 표시되는 다양한 변수 이름을 인쇄하는 옵션이 bash있는 다른 셸을 시작하는 것입니다.-v

당신이 원하는 것은

bash --version

고쳐 쓰다

OP 이후댓글을 달았습니다.이것은 "시스템 다시 시작"과 같은 대답처럼 들립니다. 여기에 또 다른 접근 방식이 있습니다.

-v발행하여 옵션을 비활성화하십시오.

set +v

그러나 이렇게 하면 이전에 를 호출하여 분기한 하위 셸에 그대로 남게 됩니다 bash.

관련 정보