#!/bin/bash # 最小化 ZSH 配置 - 适合快速部署 # 用法: curl -fsSL https://your-gitea.com/ben/mgmt/raw/branch/main/snippets/zsh/zshrc-minimal.sh | bash set -euo pipefail # 颜色定义 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' log_info() { echo -e "${BLUE}[INFO]${NC} $1"; } log_success() { echo -e "${GREEN}[SUCCESS]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } # 检查 root 权限 if [[ $EUID -ne 0 ]]; then log_error "需要 root 权限" exit 1 fi log_info "开始安装最小化 ZSH 配置..." # 安装依赖 apt update && apt install -y zsh git curl fonts-powerline # 安装 oh-my-zsh if [[ ! -d "$HOME/.oh-my-zsh" ]]; then RUNZSH=no CHSH=no sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" fi # 安装关键插件 custom_dir="$HOME/.oh-my-zsh/custom/plugins" mkdir -p "$custom_dir" [[ ! -d "$custom_dir/zsh-autosuggestions" ]] && git clone https://github.com/zsh-users/zsh-autosuggestions "$custom_dir/zsh-autosuggestions" [[ ! -d "$custom_dir/zsh-syntax-highlighting" ]] && git clone https://github.com/zsh-users/zsh-syntax-highlighting.git "$custom_dir/zsh-syntax-highlighting" # 创建最小化配置 cat > "$HOME/.zshrc" << 'EOF' # Oh My Zsh 配置 export ZSH="$HOME/.oh-my-zsh" ZSH_THEME="agnoster" plugins=( git docker ansible terraform kubectl zsh-autosuggestions zsh-syntax-highlighting ) source $ZSH/oh-my-zsh.sh # 基本别名 alias ll='ls -alF' alias la='ls -A' alias l='ls -CF' alias ..='cd ..' alias ...='cd ../..' alias grep='grep --color=auto' # Docker 别名 alias d='docker' alias dps='docker ps' alias dpsa='docker ps -a' alias dex='docker exec -it' alias dlog='docker logs -f' # Kubernetes 别名 alias k='kubectl' alias kgp='kubectl get pods' alias kgs='kubectl get services' alias kgd='kubectl get deployments' # Git 别名 alias gs='git status' alias ga='git add' alias gc='git commit' alias gp='git push' alias gl='git pull' # 历史配置 HISTSIZE=10000 SAVEHIST=10000 HISTFILE=~/.zsh_history setopt SHARE_HISTORY setopt HIST_IGNORE_DUPS # 自动建议配置 ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8' ZSH_AUTOSUGGEST_STRATEGY=(history completion) echo "🚀 ZSH 配置完成!" EOF # 设置默认 shell chsh -s "$(which zsh)" log_success "最小化 ZSH 配置安装完成!" log_info "请重新登录或运行: source ~/.zshrc"