-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathzsh-install.sh
More file actions
39 lines (31 loc) · 1.03 KB
/
zsh-install.sh
File metadata and controls
39 lines (31 loc) · 1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/bash
# 安装zsh核心
sudo apt-get update && sudo apt-get install -y zsh
# 设置zsh为默认shell
if [ -f "/bin/zsh" ]; then
sudo chsh -s $(which zsh) $USER
# 创建通用配置文件
[ -f ~/.bashrc ] && grep -E '^export|^source|^alias' ~/.bashrc > ~/.zsh_common
fi
# 安装oh-my-zsh及其依赖
sudo apt-get install -y curl git
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
# 应用配置
if [ -d "$HOME/.oh-my-zsh" ]; then
# 保留原始配置
[ -f ~/.zshrc ] && mv ~/.zshrc ~/.zshrc.bak
cp "$HOME/.oh-my-zsh/templates/zshrc.zsh-template" "$HOME/.zshrc"
# 添加兼容性配置
cat << 'EOF' >> ~/.zshrc
# 加载通用配置
[ -f ~/.zsh_common ] && source ~/.zsh_common
# ZSH专用设置
if [ -n "$ZSH_VERSION" ]; then
setopt nocaseglob
setopt appendhistory
# Oh My Zsh插件设置
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
fi
EOF
fi
echo "安装完成,请重新登录或执行 zsh 激活新配置"