粗略地说,这是我的 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 '