写一个自己的重装脚本(GUI)

今天因为前天文件系统崩溃而重装,然后觉得重装真是很麻烦呐,不过基本上都是重复劳动,所以,把一些常用的重装后的动作自动化实现吧。

这算是之前的那篇《为 shell 脚本添加交互界面》的实践吧。

写一个自己的重装脚本(GUI)_第1张图片
有界面的自动配置工具
#!/bin/bash

# 说明:请使用bash命令运行脚本,否则会报错

# 清空终端
clear

# 构建图形化界面
GUI=$(zenity --list --checklist \
  --height="600" \
  --width="1000" \
  --title="重装后快速配置工具" \
  --text="请从下面列表中选择需要设置或安装的项目" \
  --column="选择" --column="操作"   --column="描述" \
  TRUE "更新系统" "更新系统及应用软件包"  \
  FALSE "安装 zsh" "包括 oh-my-zsh 和 powerline 等工具" \
  FALSE "设置 .zshrc" "加入常用的 alias 配置以及常用系统环境" \
  FALSE "安装 Typora" "还不错的 Markdown 编辑器" \
  FALSE "安装 Geary" "安装邮件客户端,可后台收邮件并提醒" \
  FALSE "安装 Nextcloud" "私人云同步工具的客户端" \
  FALSE "安装 FileZilla" "不错的 FTP 客户端工具" \
  FALSE "安装 Seahorse" "系统密钥管理工具" \
  FALSE "安装 Shadowsocks" "Shadowsocks 客户端(GUI)" \
  FALSE "安装 Easystroke" "安装鼠标手势工具" \
#
# 这里面还有很多很多,总之自己根据自己的情况写上去。
#
  FALSE "自动挂载磁盘" "挂载我电脑的其他分区" \
  FALSE "安装 Go 环境" "Go 语言开发环境" \
  FALSE "安装 Java 环境" "Java 语言开发环境" \
  TRUE "修复软件依赖" "修复软件包依赖,修复无法启动的软件包" \
  TRUE "清理软件包" "删除系统冗余的软件包及清理本地软件包缓存" \
  --separator="|");

if [[ $GUI ]]
then

#
# 下面是两个示例,实际上就是把自己的操作自动化执行罢了。
#

  # 更新系统操作
  if [[ $GUI == *"更新系统"* ]]
  then
    clear
    echo "正在更新系统"
    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

#
# 这里继续补充你的操作
#

  # 修复损坏的软件包操作
  if [[ $GUI == *"修复损坏的软件包"* ]]
  then
    clear
    echo "正在修复损坏的软件包"
    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

因为每个人的操作都不同,我就不贴完整的代码了,完整源代码可以看这里:(我还没写完,笑。写完补充。)

你可能感兴趣的:(写一个自己的重装脚本(GUI))