107 lines
2.4 KiB
Bash
107 lines
2.4 KiB
Bash
#!/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"
|