Ubuntu 터미널에 디렉터리 이름이 표시되는 방식 변경

Ubuntu 터미널에 디렉터리 이름이 표시되는 방식 변경

Ubuntu 터미널에서 디렉터리를 변경하면 디렉터리의 전체 경로가 표시됩니다. 내가 작업 중인 현재 디렉터리만 표시되도록 어떻게 변경합니까?

사용자 이름@컴퓨터:디렉터리$이것이 내가 원하는 방식입니다. .bashrc 파일에서 PS1 변수를 편집해야 한다는 것을 다른 곳에서 찾았지만 무엇을 편집해야 할지 모르겠습니다.

답변1

귀하 \w의 것으로 변경하십시오 .\W$PS1

따라서 귀하의 항목에는 ~/.bashrc다음과 같은 내용이 포함되어야 합니다.

PS1='[\e]0;\u@\h: \W\a]${debian_chroot:+($debian_chroot)}\u@\h:\W\$'

bash가 지원하는 모든 이스케이프 시퀀스와 그 의미 목록은 man bash섹션을 참조하세요 .PROMPTING

답변2

환경 변수 중 마지막 변수를 of \w로 변경합니다 \W.PS1

에서 man bash:

\w : 현재 작업 디렉터리. 여기서 $HOME은 물결표로 축약됩니다(PROMPT_DIRTRIM 변수 값 사용).

\W: 현재 작업 디렉터리의 기본 이름인 $HOME은 물결표로 축약됩니다.

따라서 다음이 필요합니다.

PS1='[\e]0;\u@\h: \w\a]${debian_chroot:+($debian_chroot)}\u@\h:\W\$ '

에는 ~/.bashrc다음 스니펫이 있습니다.

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

\w기본적으로 s를 s로 변경할 수도 \W있고, 필요에 맞게 선택적으로 변경할 수도 있습니다. 그렇지 않으면 PS1파일 끝에 원하는 값을 넣어 ~/.bashrc모든 값을 덮어쓸 수 있습니다. 로그인 셸 ~/.profile소스가 시작 되면 ~/.bashrc모든 로그인 및 비로그인 대화형 세션에서 사용할 수 있습니다.

모든 사용자에게 적용되도록 하려면 개별 파일에서 /etc/bash.bashrc관련 스니펫을 검토하고 삭제 해야 합니다.PS1~/.bashrc

관련 정보