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
|
|
|
|
2024-01-22 23:32:47 +08:00
|
|
|
# 脚本在执行过程中遇到任何非零返回码的命令时立即退出
|
2024-02-21 16:51:46 +08:00
|
|
|
# set -e
|
2024-01-22 23:32:47 +08:00
|
|
|
|
2024-07-11 16:58:03 +08:00
|
|
|
readonly 言灵一版本="v1.1.0"
|
2024-03-12 01:00:21 +08:00
|
|
|
|
2024-01-22 23:32:47 +08:00
|
|
|
###############################################################################
|
|
|
|
# 全局变量 #
|
|
|
|
###############################################################################
|
|
|
|
|
2024-07-11 16:58:03 +08:00
|
|
|
typeset -a 通用一包列表=('wget' 'curl' 'git' 'vim')
|
2024-03-06 17:59:32 +08:00
|
|
|
typeset -a 架构一包列表=()
|
|
|
|
typeset -a 系统一包列表=()
|
2024-07-11 16:58:03 +08:00
|
|
|
|
2024-03-06 17:59:32 +08:00
|
|
|
readonly CPU一架构="$(uname -m)"
|
|
|
|
readonly 系统一类型="$(uname -s)"
|
|
|
|
readonly 系统一版本="$(uname -r)"
|
2024-01-24 00:03:17 +08:00
|
|
|
# ID_LIKE不为空,则输出ID_LIKE的值,否则输出ID的值
|
2024-03-06 17:59:32 +08:00
|
|
|
readonly 系统一发行版=$( ([ -n "${ID_LIKE}" ] && echo "${ID_LIKE}") || ([ -n "${ID}" ] && echo "${ID}"))
|
|
|
|
readonly 系统一发行版一名称=$(echo "${NAME}")
|
|
|
|
系统一发行版一标识=""
|
2024-01-24 00:03:17 +08:00
|
|
|
# 龙架构区分新旧世界的标志位
|
2024-03-06 17:59:32 +08:00
|
|
|
世界一类型="旧世界"
|
2024-01-24 00:03:17 +08:00
|
|
|
|
2024-06-04 11:19:32 +08:00
|
|
|
if command -v sudo >/dev/null 2>&1; then
|
|
|
|
特权="sudo"
|
|
|
|
else
|
|
|
|
特权=""
|
|
|
|
fi
|
|
|
|
|
2024-07-11 16:58:03 +08:00
|
|
|
typeset -a 预设一默认=("vim" "zsh")
|
|
|
|
readonly 言灵一镜像站="http://yum.gdie.top:50200/ylib/"
|
|
|
|
配置一预设=false
|
|
|
|
配置一镜像=false
|
|
|
|
# 帮助信息
|
|
|
|
帮助一信息=$(cat <<EOF
|
|
|
|
用法: $0 [选项]
|
|
|
|
|
|
|
|
选项:
|
|
|
|
-h, -帮助 显示帮助信息
|
|
|
|
-v, -版本 显示版本信息
|
|
|
|
-Y, -预设 使用预设配置安装 ${预设一默认}
|
|
|
|
-J, -镜像 使用镜像源安装 ${言灵一镜像站}
|
|
|
|
|
|
|
|
示例:
|
|
|
|
$0 -h 显示此帮助信息
|
|
|
|
$0 -Y -J 使用预设配置和镜像源安装
|
|
|
|
|
|
|
|
EOF
|
|
|
|
)
|
|
|
|
|
2024-01-22 23:32:47 +08:00
|
|
|
###############################################################################
|
|
|
|
# 函数/方法 #
|
|
|
|
###############################################################################
|
2024-02-05 17:46:26 +08:00
|
|
|
|
|
|
|
# 调用包管理器批量安装
|
|
|
|
批量安装(){
|
|
|
|
typeset -a 包列表=($@)
|
|
|
|
输出 2 "计划安装列表: ${包列表}"
|
|
|
|
for 包 in "${包列表[@]}";do
|
|
|
|
输出 2 "正在安装 -> ${包} <-"
|
2024-03-06 17:59:32 +08:00
|
|
|
色彩一灰色
|
|
|
|
包管一安装 ${包}
|
|
|
|
色彩一清除
|
2024-02-05 17:46:26 +08:00
|
|
|
done
|
|
|
|
}
|
|
|
|
|
2024-03-12 01:00:21 +08:00
|
|
|
# 从git镜像仓库获取依赖
|
2024-06-04 11:19:32 +08:00
|
|
|
# *-* -> 位置参数 1 <- 拉取`作者/仓库名`
|
2024-03-12 01:00:21 +08:00
|
|
|
# *-* -> 位置参数 2 <- 保存地址, 保存到本地的哪个路径
|
|
|
|
获取一git(){
|
|
|
|
色彩一灰色
|
2024-07-11 16:58:03 +08:00
|
|
|
if [ -z "$2" ]; then
|
|
|
|
输出 2 "正在拉取 $1 ..."
|
|
|
|
else
|
|
|
|
输出 2 "正在拉取 $1($2) ..."
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -z "${配置一镜像}" ]; then
|
|
|
|
git clone --depth 1 -q ${言灵一镜像站}/${1#*/}.git $2
|
|
|
|
else
|
|
|
|
git clone --depth 1 -q "https://github.com/$1.git" $2
|
|
|
|
fi
|
2024-03-12 01:00:21 +08:00
|
|
|
色彩一清除
|
|
|
|
}
|
|
|
|
|
2024-03-06 17:59:32 +08:00
|
|
|
检查一架构() {
|
|
|
|
case ${CPU一架构} in
|
2024-01-24 00:03:17 +08:00
|
|
|
*x86_64*)
|
2024-03-06 17:59:32 +08:00
|
|
|
主机一架构="amd64"
|
2024-01-24 00:03:17 +08:00
|
|
|
;;
|
|
|
|
*loong*)
|
2024-03-06 17:59:32 +08:00
|
|
|
主机一架构="龙"
|
2024-02-23 16:03:57 +08:00
|
|
|
# 龙架构二进制 第四行是43开头是新世界, 03开头是旧世界
|
2024-03-06 17:59:32 +08:00
|
|
|
世界一类型一标志位=$(hexdump -s 48 -C /usr/bin/sh | head -n 1 | awk '{print $2}')
|
|
|
|
if [[ ${世界一类型一标志位} == "43" ]];then
|
|
|
|
世界一类型="新世界"
|
2024-02-22 10:34:40 +08:00
|
|
|
fi
|
|
|
|
;;
|
2024-02-05 17:46:26 +08:00
|
|
|
*)
|
2024-03-06 17:59:32 +08:00
|
|
|
输出 1 "暂不支持${色彩[3]} ${CPU一架构} ${色彩重置}架构"
|
2024-01-24 00:03:17 +08:00
|
|
|
exit 1
|
|
|
|
;;
|
2024-02-05 17:46:26 +08:00
|
|
|
esac
|
2024-03-06 17:59:32 +08:00
|
|
|
输出 2 "检测到${色彩[1]} ${主机一架构} ${色彩重置}架构"
|
2024-01-24 00:03:17 +08:00
|
|
|
}
|
|
|
|
|
2024-03-06 17:59:32 +08:00
|
|
|
检查一发行版() {
|
2024-01-24 00:03:17 +08:00
|
|
|
未知=0
|
2024-03-06 17:59:32 +08:00
|
|
|
case ${系统一发行版} in
|
2024-02-04 17:56:33 +08:00
|
|
|
*arch*) ;;
|
2024-02-20 17:52:10 +08:00
|
|
|
*Loongnix*) ;;
|
2024-02-21 16:51:46 +08:00
|
|
|
*aosc*)
|
2024-03-06 17:59:32 +08:00
|
|
|
系统一发行版一标识符="安同"
|
2024-02-21 16:51:46 +08:00
|
|
|
# 前三个是字体包
|
2024-03-06 17:59:32 +08:00
|
|
|
系统一包列表=('jetbrains-mono' 'powerline-fonts' 'fantasque-sans-mono-nerd-fonts')
|
2024-03-12 01:00:21 +08:00
|
|
|
;;
|
|
|
|
*debian*)
|
|
|
|
if [[ ${系统一发行版一名称}=="Ubuntu" ]]; then
|
|
|
|
系统一发行版一标识符="乌班图"
|
|
|
|
fi
|
|
|
|
;;
|
2024-02-20 17:52:10 +08:00
|
|
|
*openwrt*)
|
2024-01-24 00:03:17 +08:00
|
|
|
输出 1 "暂不支持openwrt"
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
未知=1
|
|
|
|
;;
|
2024-02-22 10:34:40 +08:00
|
|
|
esac
|
|
|
|
|
2024-03-06 17:59:32 +08:00
|
|
|
输出 2 "检测到 ${系统一发行版一名称} (${系统一发行版}) 系统"
|
2024-01-24 00:03:17 +08:00
|
|
|
if [[ ${未知} == 1 ]]; then
|
2024-02-22 10:34:40 +08:00
|
|
|
if 是否 "此发行版尚未验证, 是否尝试继续安装"; then
|
|
|
|
输出 3 "在尚未验证的系统中安装可能会出现未知问题, 如果部分字体出现 口口口 或者乱码的问题, 请手动安装nerd-fonts字体家族的字体"
|
|
|
|
else
|
|
|
|
输出 1 "已退出安装"
|
|
|
|
exit 1
|
2024-02-02 00:15:11 +08:00
|
|
|
fi
|
2024-01-24 00:03:17 +08:00
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2024-02-05 17:46:26 +08:00
|
|
|
配置检测(){
|
2024-01-24 00:03:17 +08:00
|
|
|
输出 2 "主机信息检测模块启动"
|
2024-03-06 17:59:32 +08:00
|
|
|
检查一架构
|
|
|
|
检查一发行版
|
2024-03-12 01:00:21 +08:00
|
|
|
# 检查本地版本
|
2024-03-19 23:57:50 +08:00
|
|
|
if [[ -n ${言灵一本地版本} ]]; then
|
|
|
|
if 版本对比 ${言灵一版本} ${言灵一本地版本}; then
|
2024-03-12 01:00:21 +08:00
|
|
|
是否 "发现本地版本已是最新版, 是否需要重复安装" || 输出 1 "已退出安装"
|
|
|
|
fi
|
|
|
|
fi
|
2024-02-22 10:34:40 +08:00
|
|
|
# 将本机信息更新到指定文件
|
2024-03-12 01:00:21 +08:00
|
|
|
配置信息=${目录一配置}/信息
|
|
|
|
rm -v ${配置信息}
|
|
|
|
echo "言灵一路径=${言灵一路径}" >> ${配置信息}
|
2024-03-19 23:57:50 +08:00
|
|
|
echo "言灵一发行系统=${系统一发行版一标识符}" >> ${配置信息}
|
|
|
|
if [[ ${主机一架构} == "龙" ]];then
|
|
|
|
echo "言灵一世界类型=${世界一类型}" >> ${配置信息}
|
|
|
|
fi
|
|
|
|
echo "言灵一系统架构=${主机一架构}" >> ${配置信息}
|
2024-01-24 00:03:17 +08:00
|
|
|
输出 0 "主机信息检测完毕"
|
2024-01-22 23:32:47 +08:00
|
|
|
}
|
|
|
|
|
2024-03-12 01:00:21 +08:00
|
|
|
优化一常用命令一zsh(){
|
|
|
|
# 创建下载文件的临时目录
|
|
|
|
输出 2 "启动zsh优化"
|
|
|
|
# 下载zsh扩展
|
|
|
|
色彩一灰色
|
|
|
|
配置一路径=${言灵一路径}/oh-my-zsh
|
2024-06-04 11:19:32 +08:00
|
|
|
${特权} rm -vrf ${配置一路径}
|
2024-03-12 01:00:21 +08:00
|
|
|
获取一git ohmyzsh/ohmyzsh ${配置一路径}
|
|
|
|
获取一git zsh-users/zsh-autosuggestions ${配置一路径}/custom/plugins/zsh-autosuggestions
|
|
|
|
获取一git zsh-users/zsh-syntax-highlighting ${配置一路径}/custom/plugins/zsh-syntax-highlighting
|
|
|
|
|
|
|
|
if [ -f $HOME/.zshrc ]; then
|
|
|
|
mv $HOME/.zshrc $HOME/.zshrc.old
|
|
|
|
fi
|
|
|
|
cp -v ${目录一根}/配置/zshrc $HOME/.zshrc
|
|
|
|
sed -i "s:export ZSH=/etc/oh-my-zsh:export ZSH=${配置一路径}:" $HOME/.zshrc
|
2024-06-04 11:19:32 +08:00
|
|
|
是否 "是否需要将zsh预设配置赋予所有新用户" && ${特权} cp $HOME/.zshrc /etc/skel/.zshrc
|
2024-03-12 01:00:21 +08:00
|
|
|
if 是否 "将Zsh设置为默认命令行"; then
|
|
|
|
chsh -s /usr/bin/zsh
|
|
|
|
输出 0 "已将zsh设置为默认命令行,此设置主要适用于ssh和tty如终端不生效则需要在可视化设置中手动配置启动时加载 '/usr/bin/zsh' "
|
|
|
|
else
|
|
|
|
输出 2 "如需将zsh设置为默认命令行请执行: 'chsh -s /usr/bin/zsh' "
|
|
|
|
fi
|
|
|
|
色彩一清除
|
|
|
|
输出 0 "Zsh优化完成"
|
|
|
|
}
|
|
|
|
|
2024-03-06 17:59:32 +08:00
|
|
|
优化一常用命令一vim(){
|
2024-02-21 16:51:46 +08:00
|
|
|
输出 2 "启动vim优化, 安装代码检查和树状目录插件, 并优化配置(具体配置可以查看 $HOME/.vimrc 文件)"
|
2024-07-11 16:58:03 +08:00
|
|
|
|
|
|
|
# 安装tag
|
|
|
|
typeset -a 标签包名=('universal-ctags' 'ctag')
|
|
|
|
批量安装 标签包名 && 输出 0 "通用包安装完毕"
|
|
|
|
|
2024-03-06 17:59:32 +08:00
|
|
|
vim一配置路径=$HOME/.vim/pack/xunmi
|
|
|
|
色彩一灰色
|
2024-03-12 01:00:21 +08:00
|
|
|
if [ -f $HOME/.vimrc ]; then
|
|
|
|
mv $HOME/.vimrc $HOME/.vimrc.old
|
|
|
|
fi
|
|
|
|
cp -v ${目录一根}/配置/vimrc $HOME/.vimrc
|
2024-03-06 17:59:32 +08:00
|
|
|
rm -vrf ${vim一配置路径}
|
|
|
|
mkdir -vp ${vim一配置路径}/{opt,start}
|
2024-03-07 17:42:47 +08:00
|
|
|
vim说明=${目录一根}/配置/vim配置说明.vim
|
2024-03-12 01:00:21 +08:00
|
|
|
获取一git scrooloose/nerdtree ${vim一配置路径}/start/树状目录
|
|
|
|
获取一git jiangmiao/auto-pairs ${vim一配置路径}/start/括号补齐
|
|
|
|
获取一git preservim/nerdcommenter ${vim一配置路径}/start/注释工具
|
|
|
|
获取一git vim-airline/vim-airline ${vim一配置路径}/start/VIM状态栏
|
|
|
|
获取一git vim-airline/vim-airline-themes ${vim一配置路径}/start/VIM状态栏_皮肤
|
2024-03-18 16:51:45 +08:00
|
|
|
获取一git airblade/vim-gitgutter ${vim一配置路径}/start/Git插件
|
|
|
|
获取一git preservim/tagbar ${vim一配置路径}/start/标签栏
|
2024-03-12 01:00:21 +08:00
|
|
|
获取一git Yggdroot/LeaderF ${vim一配置路径}/start/模糊搜索器
|
|
|
|
# if 是否 "是否启用基于c的模糊搜索(默认使用python, c的性能会好很多)"; then
|
|
|
|
# vim -c ":LeaderfInstallCExtension" ${vim说明}
|
|
|
|
# fi
|
2024-03-06 17:59:32 +08:00
|
|
|
色彩一清除
|
2024-03-12 01:00:21 +08:00
|
|
|
输出 0 "Zsh优化完成"
|
2024-02-05 00:09:02 +08:00
|
|
|
}
|
|
|
|
|
2024-03-06 17:59:32 +08:00
|
|
|
优化一常用命令一ls(){
|
2024-02-22 10:34:40 +08:00
|
|
|
输出 2 "启动ls优化"
|
2024-03-06 17:59:32 +08:00
|
|
|
色彩一灰色
|
|
|
|
if ! 包管一安装 "lsd"; then
|
2024-02-21 16:51:46 +08:00
|
|
|
是否 "在系统源中未发现lsd, 是否使用cargo安装(需要rust语言, 如系统没有则会自动安装)" || return 201
|
|
|
|
# todo: 需要判断龙芯旧世界, 旧世界安装的cargo版本过低, 需要从官网下载安装
|
2024-03-06 17:59:32 +08:00
|
|
|
if ! 包管一安装 "cargo"; then
|
2024-02-21 16:51:46 +08:00
|
|
|
输出 3 "ls优化失败, 未找到cargo, 请手动安装rust语言及其cargo包管理器后重试"
|
|
|
|
return 202
|
|
|
|
fi
|
|
|
|
cargo install "lsd"
|
|
|
|
fi
|
2024-06-04 11:19:32 +08:00
|
|
|
${特权} ln -vs $HOME/.cargo/bin/lsd /usr/bin/lsd
|
2024-03-06 17:59:32 +08:00
|
|
|
色彩一清除
|
2024-02-21 16:51:46 +08:00
|
|
|
if 是否 "将lsd使用别名的方式替代ls"; then
|
|
|
|
别名='alias ls="lsd"'
|
|
|
|
grep -q "${别名}" "$HOME/.zshrc" || echo ${别名} >> $HOME/.zshrc
|
|
|
|
fi
|
|
|
|
输出 0 "ls优化完成"
|
2024-02-22 10:34:40 +08:00
|
|
|
}
|
2024-02-21 16:51:46 +08:00
|
|
|
|
2024-03-06 17:59:32 +08:00
|
|
|
优化一常用命令一top(){
|
|
|
|
if [[ ${主机一架构}=="龙" ]]; then
|
2024-02-22 10:34:40 +08:00
|
|
|
xmtop版本="v4.2.1"
|
2024-03-06 17:59:32 +08:00
|
|
|
输出 2 "开始下载 xmtop-${xmtop版本}-${世界一类型}"
|
|
|
|
xmtop_url="https://gitea.whlug.cn/xunmi/xmtop/releases/download/${xmtop版本}/xmtop_${世界一类型}"
|
2024-06-04 11:19:32 +08:00
|
|
|
${特权} wget -t 3 -q --show-progress -c ${xmtop_url} || 输出 5 "无法下载程序包"
|
|
|
|
${特权} mv -v xmtop_${世界一类型} /usr/bin/xmtop
|
|
|
|
${特权} chmod 755 /usr/bin/xmtop
|
2024-02-22 10:34:40 +08:00
|
|
|
else
|
2024-03-06 17:59:32 +08:00
|
|
|
输出 2 "${主机一架构} 架构, 暂未适配top优化, 推荐手动安装gotop, btop等代替top"
|
2024-02-22 10:34:40 +08:00
|
|
|
fi
|
2024-03-06 17:59:32 +08:00
|
|
|
输出 0 "xmtop配置完毕,输入xmtop查看效果"
|
2024-02-21 16:51:46 +08:00
|
|
|
}
|
|
|
|
|
2024-03-06 17:59:32 +08:00
|
|
|
优化一常用命令(){
|
2024-03-07 17:42:47 +08:00
|
|
|
# 优化git, 修复git中文显示为8进制风格的问题
|
|
|
|
git config --global core.quotepath false
|
|
|
|
|
2024-03-12 01:00:21 +08:00
|
|
|
git config --global core.editor "vim"
|
|
|
|
|
2024-02-05 17:46:26 +08:00
|
|
|
typeset -A 列表=(
|
2024-06-04 11:19:32 +08:00
|
|
|
["zsh"]="添加omyzsh, zsh自动补齐, 快速添加${特权}, 便捷操作目录, 优化命令行提示符等"
|
2024-02-05 17:46:26 +08:00
|
|
|
["vim"]="添加常用配置项(允许复制 添加行号 显式当前行等), 常用插件(目录 语法检测)"
|
2024-02-22 10:34:40 +08:00
|
|
|
["ls"]="使用lsd替代老旧的ls, (lsd是rust编写的兼容ls的目录查看工具, 其丰富的配色和图标可有效增加目录的可读性)"
|
2024-02-27 16:12:45 +08:00
|
|
|
#["cat"]="使用bat替代cat"
|
2024-02-22 10:34:40 +08:00
|
|
|
["top"]="使用xmtop替代老旧的top系统信息监控功能"
|
2024-02-27 16:12:45 +08:00
|
|
|
#["sed"]="使用学习成本较低的sd替代sed"
|
2024-02-05 00:09:02 +08:00
|
|
|
)
|
2024-07-11 16:58:03 +08:00
|
|
|
# 查看预设是否被启动
|
|
|
|
if ${配置一预设}; then
|
|
|
|
输出 2 "正在优化 ${预设一默认} 命令"
|
|
|
|
for 默认 in "${预设一默认[@]}";do
|
|
|
|
echo "正在启动 ${默认} 优化, ->${列表[$默认]}<-"
|
|
|
|
优化一常用命令一${默认}
|
|
|
|
done
|
|
|
|
else
|
|
|
|
输出 2 "正在优化 ${(k)列表} 命令"
|
|
|
|
# 遍历关联数组
|
|
|
|
for 键 值 in ${(kv)列表}; do
|
|
|
|
if 是否 "是否启动 '${键}' 命令优化 -> ${值} <- "; then
|
|
|
|
优化一常用命令一${键}
|
|
|
|
else
|
|
|
|
输出 3 "已取消 ${键} 的优化"
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
fi
|
2024-02-05 00:09:02 +08:00
|
|
|
}
|
2024-01-24 00:03:17 +08:00
|
|
|
|
2024-01-22 23:32:47 +08:00
|
|
|
###############################################################################
|
2024-02-20 17:52:10 +08:00
|
|
|
# 主函数(main) #
|
2024-01-22 23:32:47 +08:00
|
|
|
###############################################################################
|
|
|
|
|
2024-02-05 17:46:26 +08:00
|
|
|
echo "
|
|
|
|
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
|
|
|
* 欢迎使用 言灵 配置脚本 *
|
|
|
|
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
|
|
|
"
|
2024-03-06 17:59:32 +08:00
|
|
|
目录一根=$PWD
|
|
|
|
目录一配置=$HOME/.config/xunmi
|
2024-03-12 01:00:21 +08:00
|
|
|
source ${目录一配置}/信息
|
2024-02-20 18:32:07 +08:00
|
|
|
# 判断当前执行的位置 如果不再项目路径中就去寻找路径
|
|
|
|
if [ ! -f "公共/函数.zsh" ]; then
|
2024-03-12 01:00:21 +08:00
|
|
|
目录一根=${言灵一路径}/x
|
2024-02-20 18:32:07 +08:00
|
|
|
fi
|
2024-03-06 17:59:32 +08:00
|
|
|
echo "执行目录: ${目录一根}"
|
2024-02-20 17:52:10 +08:00
|
|
|
|
2024-02-22 10:34:40 +08:00
|
|
|
# 先检查公共函数是否正常加载
|
2024-03-06 17:59:32 +08:00
|
|
|
[[ ${言灵一函数} == 1 ]] || . ${目录一根}/公共/函数.zsh || exit 2 && 输出 0 "公共函数模块初始化完成"
|
|
|
|
[[ ${言灵一包管} == 1 ]] || . ${目录一根}/公共/包管.zsh || exit 3 && 输出 0 "包管理器模块初始化完成"
|
2024-02-05 17:46:26 +08:00
|
|
|
|
2024-07-11 16:58:03 +08:00
|
|
|
# 处理用户输入
|
|
|
|
# 使用 case 语句检查命令行参数
|
|
|
|
while [[ $# -gt 0 ]]; do
|
|
|
|
case "$1" in
|
|
|
|
-h | -帮助 | --help )
|
|
|
|
echo "\n*-*-*-*-*-*-*-*-*-*-*-*-*-*\n"${帮助一信息}
|
|
|
|
exit 0
|
|
|
|
;;
|
|
|
|
-v | -版本 | --version )
|
|
|
|
echo "版本号:${言灵一版本}"
|
|
|
|
exit 0
|
|
|
|
;;
|
|
|
|
-Y | -预设)
|
|
|
|
输出 2 "启用预设模式"
|
|
|
|
配置一预设=true
|
|
|
|
;;
|
|
|
|
-J | -镜像)
|
|
|
|
# 判断镜像网站的连通性, 可以连通则使用
|
|
|
|
if $(curl -IsS ${言灵一镜像站} | head -n 1 | grep -q "200"); then
|
|
|
|
输出 2 "启动镜像下载"
|
|
|
|
配置一预设=true
|
|
|
|
else
|
|
|
|
输出 4 "无法访问镜像站, 使用默认的github"
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
输出 4 "未知选项 -> $1 <- "
|
|
|
|
echo ${帮助一信息}
|
|
|
|
exit 0
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
shift
|
|
|
|
done
|
|
|
|
|
2024-02-05 17:46:26 +08:00
|
|
|
配置检测
|
|
|
|
|
2024-03-06 17:59:32 +08:00
|
|
|
[[ ${#通用一包列表} -ne 0 ]] && 批量安装 ${通用一包列表[@]} && 输出 0 "通用包安装完毕"
|
|
|
|
[[ ${#架构一包列表} -ne 0 ]] && 批量安装 ${架构一包列表[@]} && 输出 0 "架构专用包安装完毕"
|
|
|
|
[[ ${#系统一包列表} -ne 0 ]] && 批量安装 ${系统一包列表[@]} && 输出 0 "系统发行版专用包安装完毕"
|
2024-02-05 00:09:02 +08:00
|
|
|
|
2024-03-06 17:59:32 +08:00
|
|
|
优化一常用命令
|
|
|
|
# 配置一开发环境
|
2024-02-05 00:09:02 +08:00
|
|
|
|
2024-03-19 23:57:50 +08:00
|
|
|
echo "言灵一本地版本=${言灵一版本}" >> ${目录一配置}/信息
|
|
|
|
输出 0 "已成功安装 言灵 ${言灵一版本}"
|