修改主机名颜色脚本
#!/bin/bashecho "请选择你想要的主机名颜色:"
echo "(1) 红色 (2) 绿色 (3) 蓝色"
echo "(4) 黄色 (5) 紫色 (6) 青色"
echo "(7) 亮红 (8) 亮绿 (9) 亮蓝"
echo "(10) 亮黄 (11) 亮紫 (12) 亮青"
echo "(13) 黑色 (14) 白色"
read -p "请输入选项 [1-14]: " choice# 检测并设置配置文件
if [ -f "$HOME/.bashrc" ]; thenconfig_file="$HOME/.bashrc"
elif [ -f "$HOME/.zshrc" ]; thenconfig_file="$HOME/.zshrc"
elseecho "未找到 Shell 配置文件,无法继续。"exit 1
fi# 根据选择设置颜色代码(支持8/16色和256色)
case $choice in1) color_code="31" ;; # 红色2) color_code="32" ;; # 绿色3) color_code="34" ;; # 蓝色4) color_code="33" ;; # 黄色5) color_code="35" ;; # 紫色6) color_code="36" ;; # 青色7) color_code="91" ;; # 亮红8) color_code="92" ;; # 亮绿9) color_code="94" ;; # 亮蓝10) color_code="93" ;; # 亮黄11) color_code="95" ;; # 亮紫12) color_code="96" ;; # 亮青13) color_code="30" ;; # 黑色14) color_code="37" ;; # 白色*)echo "无效选择,请输入 1-14!"exit 1;;
esac# 先删除旧的 PS1 配置(避免重复)
sed -i '/^PS1=/d' "$config_file"# 追加正确格式的 PS1
cat <<EOF >> "$config_file"
# 自定义主机名颜色(由 color.sh 脚本添加)
PS1='\[\033[${color_code}m\]\u@\h\[\033[0m\]:\w\$ '
EOFecho "主机名颜色已设置为 $choice!"
echo "执行 source $config_file 或重新登录生效"# 立即生效
source "$config_file"
执行效果