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