경로없이 터미널 제목을 디렉토리 이름으로 자동 설정하는 방법 dir의 4 개의 탭이

현재 내 bash 터미널 / 탭 제목은 내가있는 디렉토리를 기반으로 설정되어 있습니다. 예를 들면 다음과 같습니다.

bob@bobscomputer:~/i/had/some/great/pie/yesterday

여러 개의 탭을 나란히 열면 유용하지 않습니다. 예를 들어, 위의 dir의 4 개의 탭이 나란히 열려있는 경우

bob@bobscomputer:~/i/had...

4 번.

모든 터미널 제목을 경로의 마지막 부분으로 자동 설정하고 싶습니다. 위의 예에서 제목을

yesterday

디렉토리를 변경하면 제목이 변경되어야합니다. 프롬프트를 변경하지 않고이 작업을 수행하려고하므로 프롬프트와 터미널 제목이 달라야합니다.

이것을 할 수있는 방법이 있습니까?



답변

PS1 변수를 수정하지 않고 왜 하시겠습니까? 그것이 올바른 방법입니다.

다음을 실행하면 원하는 것을 얻을 수 있습니다.

export PS1="\[\e]0;\W\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "

이것은 기본 프롬프트를 취하는 것입니다.

export PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "

…로 교체 \u@\h: \w합니다 \W.

올바른 이스케이프 코드를 에코하는 명령으로 동일한 작업을 수행 할 수 있습니다.

echo -en "\e]0;${PWD##*/}\a"

…하지만 당신은 PS1 (가장 좋은 방법)을 사용하여 그것을 막기 위해 끊임없이 bash와 싸울 것입니다.


답변

예. 접두사 : \[\e]0;\W\a\]PS1. 이것은 프롬프트 모양을 변경하지 않지만 터미널 탭 제목을 현재 작업 디렉토리의 기본 이름으로 자동 설정합니다.


답변