今天因?yàn)榍疤煳募到y(tǒng)崩潰而重裝,然后覺(jué)得重裝真是很麻煩吶,不過(guò)基本上都是重復(fù)勞動(dòng),所以,把一些常用的重裝后的動(dòng)作自動(dòng)化實(shí)現(xiàn)吧。
這算是之前的那篇《為 shell 腳本添加交互界面》的實(shí)踐吧。

有界面的自動(dòng)配置工具
#!/bin/bash
# 說(shuō)明:請(qǐng)使用bash命令運(yùn)行腳本,否則會(huì)報(bào)錯(cuò)
# 清空終端
clear
# 構(gòu)建圖形化界面
GUI=$(zenity --list --checklist \
--height="600" \
--width="1000" \
--title="重裝后快速配置工具" \
--text="請(qǐng)從下面列表中選擇需要設(shè)置或安裝的項(xiàng)目" \
--column="選擇" --column="操作" --column="描述" \
TRUE "更新系統(tǒng)" "更新系統(tǒng)及應(yīng)用軟件包" \
FALSE "安裝 zsh" "包括 oh-my-zsh 和 powerline 等工具" \
FALSE "設(shè)置 .zshrc" "加入常用的 alias 配置以及常用系統(tǒng)環(huán)境" \
FALSE "安裝 Typora" "還不錯(cuò)的 Markdown 編輯器" \
FALSE "安裝 Geary" "安裝郵件客戶(hù)端,可后臺(tái)收郵件并提醒" \
FALSE "安裝 Nextcloud" "私人云同步工具的客戶(hù)端" \
FALSE "安裝 FileZilla" "不錯(cuò)的 FTP 客戶(hù)端工具" \
FALSE "安裝 Seahorse" "系統(tǒng)密鑰管理工具" \
FALSE "安裝 Shadowsocks" "Shadowsocks 客戶(hù)端(GUI)" \
FALSE "安裝 Easystroke" "安裝鼠標(biāo)手勢(shì)工具" \
#
# 這里面還有很多很多,總之自己根據(jù)自己的情況寫(xiě)上去。
#
FALSE "自動(dòng)掛載磁盤(pán)" "掛載我電腦的其他分區(qū)" \
FALSE "安裝 Go 環(huán)境" "Go 語(yǔ)言開(kāi)發(fā)環(huán)境" \
FALSE "安裝 Java 環(huán)境" "Java 語(yǔ)言開(kāi)發(fā)環(huán)境" \
TRUE "修復(fù)軟件依賴(lài)" "修復(fù)軟件包依賴(lài),修復(fù)無(wú)法啟動(dòng)的軟件包" \
TRUE "清理軟件包" "刪除系統(tǒng)冗余的軟件包及清理本地軟件包緩存" \
--separator="|");
if [[ $GUI ]]
then
#
# 下面是兩個(gè)示例,實(shí)際上就是把自己的操作自動(dòng)化執(zhí)行罷了。
#
# 更新系統(tǒng)操作
if [[ $GUI == *"更新系統(tǒng)"* ]]
then
clear
echo "正在更新系統(tǒng)"
echo ""
sudo apt -y update
sudo apt -y full-upgrade
fi
# 安裝 zsh
if [[ $GUI == *"安裝 zsh"* ]]
then
clear
echo "正在安裝 zsh"
echo ""
sudo apt -y install zsh curl
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
fi
#
# 這里繼續(xù)補(bǔ)充你的操作
#
# 修復(fù)損壞的軟件包操作
if [[ $GUI == *"修復(fù)損壞的軟件包"* ]]
then
clear
echo "正在修復(fù)損壞的軟件包"
echo ""
sudo apt -y -f install
fi
# 清理軟件包操作
if [[ $GUI == *"清理軟件包"* ]]
then
clear
echo "正在清理軟件包"
echo ""
sudo apt -y autoremove
sudo apt -y autoclean
fi
# 完成信息
clear
echo "配置完成,部分配置重啟后生效。"
notify-send -i utilities-terminal 我的快速配置工具 "配置完成,部分配置重啟后生效。"
fi
因?yàn)槊總€(gè)人的操作都不同,我就不貼完整的代碼了,完整源代碼可以看這里:(我還沒(méi)寫(xiě)完,笑。寫(xiě)完補(bǔ)充。)