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