현재 내 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. 이것은 프롬프트 모양을 변경하지 않지만 터미널 탭 제목을 현재 작업 디렉토리의 기본 이름으로 자동 설정합니다.