대략적으로 말하면 이것은 내 zsh 왼쪽 프롬프트입니다.
# Libraries
autoload -Uz colors && colors
# User color
if [ "$(whoami)" = "root" ]; then
COLOR="red"
elif [ "$(whoami)" != "root" ]; then
COLOR="magenta"
fi
# Directory icon
if [ "$()" = "Documents" ]; then
ICON=""
if [ "$()" = "Pictures" ]; then
ICON=""
if [ "$()" = "Videos" ]; then
ICON=""
else
ICON="%~"
fi
export PS1="%B%{$fg[$COLOR]%}$ICON %{$reset_color%}%b"
보여주는 대신
~/Documents/git/project1 >>>
보여주고 싶다
"ICON" git/project1 >>>
"ICON"
사용자의 현재 디렉터리에 적합한(미리 결정된) 아이콘은 어디에 있습니까? 사용자가 이러한 "선택된" 디렉터리 중 하나에 없으면 상대 경로만 표시하면 됩니다(예: 내 스크립트).
이 스크립트는 어떻게 사용자의 현재 디렉토리를 읽고 터미널에 표시할(또는 표시하지 않을) 아이콘을 결정합니까?
답변1
다음을 수행할 수 있습니다.
typeset -A dir_to_icon
and_below='(|/*)'
dir_to_icon=(
~/Documents$and_below '