[新增] 添加模块和vim优化模块, 优化主模块代码
This commit is contained in:
parent
45a381a757
commit
fd4c677c6a
|
@ -7,8 +7,8 @@
|
|||
# 使用方法: 在言灵根目录下使用`. 公共/函数.zsh`
|
||||
|
||||
|
||||
# 标识符
|
||||
龙言_公共函数=1
|
||||
# 启动言灵公共函数模块的标识符
|
||||
言灵_函数=1
|
||||
|
||||
###############################################################################
|
||||
# 终端配色 #
|
||||
|
|
45
公共/包管.zsh
Normal file
45
公共/包管.zsh
Normal file
|
@ -0,0 +1,45 @@
|
|||
#!/usr/bin/zsh
|
||||
|
||||
# 路径名称: 公共/包管.zsh
|
||||
# 脚本作用: 统一不同发行版中预制的不同的包管理的功能
|
||||
# 当前支持的包管理器有: apt yum pacman
|
||||
# 可实现的功能有 `包管_更新` `包管_安装` `包管_搜索`
|
||||
# 第一作者: 寻觅(xunmiemail@vip.qq.com)
|
||||
# 创建时间: 2024年2月5日11:25:00
|
||||
# 使用方法: 在言灵根目录下使用`. 公共/包管.zsh`
|
||||
|
||||
# 启动言灵包管理模块的标识符
|
||||
言灵_包管=1
|
||||
|
||||
# 调用当前包管理器检查和更新
|
||||
# 参数 [ -n --no-update -不更 ] 携带此参数为仅检查更新
|
||||
# 参数 [ -y -确认 ] 跳过包管理器更新时的二次确认
|
||||
# 实例 `包管_更新 -n`; `包管_更新 -确认`
|
||||
包管_更新() {
|
||||
if [ -x "$(command -v apt)" ]; then
|
||||
sudo apt-get update -qq
|
||||
elif [ -x "$(command -v yum)" ]; then
|
||||
sudo yum update
|
||||
elif [ -x "$(command -v pacman)"]; then
|
||||
sudo pacman -Syu
|
||||
fi
|
||||
}
|
||||
|
||||
# 调用当前包管理器的安装模块
|
||||
包管_安装(){
|
||||
if [ -x "$(command -v apt)" ]; then
|
||||
sudo apt -y install $1
|
||||
elif [ -x "$(command -v yum)" ]; then
|
||||
sudo yum install -y $1
|
||||
elif [ -x "$(command -v pacman)" ]; then
|
||||
sudo pacman -Sy --needed $1
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# 默认会尝试使用 apt-file pkgfile 等第三方搜索工具, 未找到第三方搜索工具时尝试使用包管理器自带搜索模块
|
||||
# 参数 [ -n --no-file -原版 ]
|
||||
包管_搜索() {
|
||||
|
||||
}
|
94
安装.zsh
94
安装.zsh
|
@ -6,7 +6,8 @@ export DEBIAN_FRONTEND=noninteractive
|
|||
# 加载系统配置
|
||||
source /etc/os-release
|
||||
# 加载公共函数
|
||||
. ./公共/函数.zsh
|
||||
. 公共/函数.zsh
|
||||
. 公共/包管.zsh
|
||||
|
||||
# 脚本在执行过程中遇到任何非零返回码的命令时立即退出
|
||||
set -e
|
||||
|
@ -15,8 +16,9 @@ set -e
|
|||
# 全局变量 #
|
||||
###############################################################################
|
||||
|
||||
readonly 安装_通用_包=('wget' 'curl' 'git' 'vim')
|
||||
|
||||
typeset -a 通用_包列表=('wget' 'curl' 'git' 'vim' 'sudo')
|
||||
typeset -a 架构_包列表=()
|
||||
typeset -a 系统_包列表=()
|
||||
readonly CPU_架构="$(uname -m)"
|
||||
readonly 系统_类型="$(uname -s)"
|
||||
readonly 系统_版本="$(uname -r)"
|
||||
|
@ -30,20 +32,33 @@ readonly 系统_发行版_名称=$(echo "${NAME}")
|
|||
###############################################################################
|
||||
# 函数/方法 #
|
||||
###############################################################################
|
||||
|
||||
# 调用包管理器批量安装
|
||||
批量安装(){
|
||||
typeset -a 包列表=($@)
|
||||
输出 2 "计划安装列表: ${包列表}"
|
||||
for 包 in "${包列表[@]}";do
|
||||
输出 2 "正在安装 -> ${包} <-"
|
||||
色彩_灰色
|
||||
包管_安装 ${包}
|
||||
色彩_清除
|
||||
done
|
||||
}
|
||||
|
||||
检查_架构() {
|
||||
case ${CPU_架构} in
|
||||
*x86_64*)
|
||||
主机_架构="amd64"
|
||||
;;
|
||||
*loong*)
|
||||
主机_架构="龙"
|
||||
;;
|
||||
*)
|
||||
主机_架构="龙"
|
||||
;;
|
||||
*)
|
||||
输出 1 "暂不支持${色彩[3]} ${CPU_架构} ${色彩重置}架构"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
输出 2 "检测到${色彩[1]} ${主机_架构} ${色彩重置}架构"
|
||||
esac
|
||||
输出 2 "检测到${色彩[1]} ${主机_架构} ${色彩重置}架构"
|
||||
}
|
||||
|
||||
检查_发行版() {
|
||||
|
@ -68,43 +83,66 @@ readonly 系统_发行版_名称=$(echo "${NAME}")
|
|||
fi
|
||||
}
|
||||
|
||||
输出_主机配置(){
|
||||
echo "
|
||||
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
||||
* 欢迎使用 言灵 配置脚本 *
|
||||
* 一个可以让你在命令行中使用 *
|
||||
* 中文的工具 *
|
||||
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
||||
"
|
||||
配置检测(){
|
||||
输出 2 "主机信息检测模块启动"
|
||||
检查_架构
|
||||
检查_发行版
|
||||
输出 0 "主机信息检测完毕"
|
||||
}
|
||||
|
||||
配置_包管理器(){
|
||||
输出 2 "正在配置包管理器"
|
||||
|
||||
优化_常用命令_vim(){
|
||||
输出 2 "启动vim优化"
|
||||
vim_配置路径=$HOME/.vim/pack/xunmi
|
||||
typeset -a vim_包列表=('vim-airline')
|
||||
批量安装 ${vim_包列表[@]} && 输出 0 "vim依赖包安装完毕"
|
||||
色彩_灰色
|
||||
mkdir -vp ${vim_配置路径}/{opt,start}
|
||||
# 树状目录
|
||||
git clone --depth 1 https://gitcode.com/mirrors/scrooloose/nerdtree.git ${vim_配置路径}/start
|
||||
# 代码检查工具
|
||||
git clone --depth 1 https://gitcode.com/mirrors/dense-analysis/ale.git ${vim_配置路径}/start
|
||||
cp -v 配置/vimrc $HOME/.vimrc
|
||||
色彩_清除
|
||||
}
|
||||
|
||||
优化_常用命令(){
|
||||
readonly 列表=(
|
||||
["vim"]="添加常用配置项(允许复制 添加行号 显式当前行等), 常用插件(目录 语法检测),"
|
||||
["ls"]="使用lsd替代老旧的ls, 需要rust的cargo"
|
||||
["top"]="使用btop替代老旧的top"
|
||||
["cat"]="使用lsd替代老旧的ls, 需要rust的cargo"
|
||||
["sed"]="使用学习成本较低的sd替代sed"
|
||||
typeset -A 列表=(
|
||||
["vim"]="添加常用配置项(允许复制 添加行号 显式当前行等), 常用插件(目录 语法检测)"
|
||||
["ls"]="使用lsd替代老旧的ls, 需要rust的cargo"
|
||||
["top"]="使用btop替代老旧的top"
|
||||
["cat"]="使用bat替代cat"
|
||||
["sed"]="使用学习成本较低的sd替代sed"
|
||||
)
|
||||
输出 2 "正在优化 ${(k)列表} 命令"
|
||||
# 遍历关联数组
|
||||
for 键 值 in ${(kv)列表}; do
|
||||
if 是否 "是否启动 '${键}' 命令优化 -> ${值} <- "; then
|
||||
优化_常用命令_${键}
|
||||
else
|
||||
输出 3 "已取消 ${键} 的优化"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# 入口(main) #
|
||||
###############################################################################
|
||||
|
||||
输出_主机配置
|
||||
配置_包管理器
|
||||
echo "
|
||||
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
||||
* 欢迎使用 言灵 配置脚本 *
|
||||
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
||||
"
|
||||
(( ${言灵_函数} == 1 )) && 输出 0 "公共函数模块初始化完成" || exit 1
|
||||
(( ${言灵_包管} == 1 )) && 输出 0 "包管理器模块初始化完成" || exit 2
|
||||
|
||||
# 优化_常用命令
|
||||
配置检测
|
||||
|
||||
[[ ${#通用_包列表} -ne 0 ]] && 批量安装 ${通用_包列表[@]} && 输出 0 "通用包安装完毕"
|
||||
[[ ${#架构_包列表} -ne 0 ]] && 批量安装 ${架构_包列表[@]} && 输出 0 "架构专用包安装完毕"
|
||||
[[ ${#系统_包列表} -ne 0 ]] && 批量安装 ${系统_包列表[@]} && 输出 0 "系统发行版专用包安装完毕"
|
||||
|
||||
优化_常用命令
|
||||
# 配置_开发环境
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user