#!/usr/bin/zsh export PATH=/usr/sbin:$PATH # 让apt包管理器处于非交互模式运行 export DEBIAN_FRONTEND=noninteractive # 加载系统配置 source /etc/os-release # 加载公共函数 . ./公共/函数.zsh # 脚本在执行过程中遇到任何非零返回码的命令时立即退出 set -e ############################################################################### # 全局变量 # ############################################################################### readonly 安装_通用_包=('wget' 'curl' 'git' 'vim') readonly CPU_架构="$(uname -m)" readonly 系统_类型="$(uname -s)" readonly 系统_版本="$(uname -r)" # ID_LIKE不为空,则输出ID_LIKE的值,否则输出ID的值 readonly 系统_发行版=$( ([ -n "${ID_LIKE}" ] && echo "${ID_LIKE}") || ([ -n "${ID}" ] && echo "${ID}")) readonly 系统_发行版_名称=$(echo "${NAME}") # 龙架构区分新旧世界的标志位 世界_类型="新世界" ############################################################################### # 函数/方法 # ############################################################################### 检查_架构() { case ${CPU_架构} in *x86_64*) 主机_架构="amd64" ;; *loong*) 主机_架构="龙" ;; *) 输出 1 "暂不支持${色彩[3]} ${CPU_架构} ${色彩重置}架构" exit 1 ;; esac 输出 2 "检测到${色彩[1]} ${主机_架构} ${色彩重置}架构" } 检查_发行版() { 未知=0 case ${系统_发行版} in *arch*) ;; *Loongnix*);; *openwrt*) 输出 1 "暂不支持openwrt" exit 1 ;; *) 未知=1 ;; esac 输出 2 "检测到 ${系统_发行版_名称} (${系统_发行版}) 系统" if [[ ${未知} == 1 ]]; then if ! 是否 "此发行版尚未验证, 是否尝试继续安装"; then 输出 1 "已退出安装" exit 1 fi fi } 输出_主机配置(){ echo " *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* * 欢迎使用 言灵 配置脚本 * * 一个可以让你在命令行中使用 * * 中文的工具 * *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* " 输出 2 "主机信息检测模块启动" 检查_架构 检查_发行版 输出 0 "主机信息检测完毕" } 配置_包管理器(){ 输出 2 "正在配置包管理器" } 优化_常用命令(){ readonly 列表=( ["vim"]="添加常用配置项(允许复制 添加行号 显式当前行等), 常用插件(目录 语法检测)," ["ls"]="使用lsd替代老旧的ls, 需要rust的cargo" ["top"]="使用btop替代老旧的top" ["cat"]="使用lsd替代老旧的ls, 需要rust的cargo" ["sed"]="使用学习成本较低的sd替代sed" ) } ############################################################################### # 入口(main) # ############################################################################### 输出_主机配置 配置_包管理器 # 优化_常用命令 # 配置_开发环境