좀 더 예쁘게 보이도록 bash 프롬프트를 사용자 정의하고 있습니다. 내가 한 일은 다음과 같습니다(~/.bashrc 파일, Ubuntu 20.04).
# Customizing prompt
t1_bg="\[$(tput setab 31)\]"
t1_fg="\[$(tput setaf 31)\]"
t2_bg="\[$(tput setab 69)\]"
t2_fg="\[$(tput setaf 69)\]"
RESET="\[$(tput sgr0)\]"
triangle_1=$(echo -e "${t1_fg}${t2_bg}\uE0B0${RESET}")
triangle_2=$(echo -e "${t2_fg}\uE0B0")
PS1="${t1_bg} \u${RESET}${triangle_1}${t2_bg} \w ${RESET}${triangle_2}${RESET} "
그림에서 볼 수 있듯이 삼각형이 약간 어긋나 있고 텍스트가 수직으로 중앙에 위치하지 않습니다. 또한 프롬프트와 출력 사이에 더 많은 간격이 있었으면 좋겠습니다. 이러한 문제를 해결할 수 있는 방법이 있나요?
마지막으로 창 제목 표시줄에 현재 디렉터리가 표시되지 않는 이유는 무엇입니까? PS1 변수만 수정했습니다.
답변1
frabjous가 댓글에서 말했듯이 삼각형의 모양은 글꼴에 따라 다릅니다. 나는 hack-ttf 글꼴을 설치했습니다(제안대로)합성 껍질) 문제가 해결되었습니다. 설치(적어도 Ubuntu에서는)는 다음을 통해 수행할 수 있습니다.
sudo apt install fonts-hack-ttf
제목 표시줄을 수정하기 위해 .bashrc 끝에 다음을 추가했습니다.
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
이전에 bashrc에서도 동일한 코드가 발견되었을 때 이것이 문제를 어떻게 해결하는지 이해할 수 없습니다. 일반적으로 bashrc에 추가된 최종 코드는 다음과 같습니다.
# Customizing prompt
t1_bg="\[$(tput setab 31)\]"
t1_fg="\[$(tput setaf 31)\]"
t2_bg="\[$(tput setab 69)\]"
t2_fg="\[$(tput setaf 69)\]"
RESET="\[$(tput sgr0)\]"
triangle_1=$(echo -e "${t1_fg}${t2_bg}\uE0B0${RESET}")
triangle_2=$(echo -e "${t2_fg}\uE0B0")
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac