[优化] 将部分代码移入公共函数模块, 初步定义安装脚本的优化命令
This commit is contained in:
parent
d52fb0d88d
commit
45a381a757
68
公共/函数.zsh
Normal file
68
公共/函数.zsh
Normal file
|
@ -0,0 +1,68 @@
|
|||
#!/usr/bin/zsh
|
||||
|
||||
# 路径名称: 公共/函数.zsh
|
||||
# 脚本作用: 通用zsh函数合集 方便zsh脚本快速调用
|
||||
# 第一作者: 寻觅(xunmiemail@vip.qq.com)
|
||||
# 创建时间: 2024年2月4日23:24:12
|
||||
# 使用方法: 在言灵根目录下使用`. 公共/函数.zsh`
|
||||
|
||||
|
||||
# 标识符
|
||||
龙言_公共函数=1
|
||||
|
||||
###############################################################################
|
||||
# 终端配色 #
|
||||
###############################################################################
|
||||
|
||||
# 色彩配置
|
||||
readonly 色彩重置='\e[0m'
|
||||
readonly 色彩=(
|
||||
'\e[92m' # 1: 绿
|
||||
'\e[90m' # 2: 灰
|
||||
'\e[31m' # 3: 暗红
|
||||
'\e[32m' # 4: 暗绿
|
||||
'\e[33m' # 5: 暗黄
|
||||
)
|
||||
|
||||
# 用于规范输出的工具
|
||||
# 位置参数 1 -> 整数 <- 1: 成功(亮绿); 2: 失败(红色); 3: 信息(绿色); 4: 通知(黄色)
|
||||
# 位置参数 2 -> 字符 <- 在命令行输出的字符串
|
||||
# 实例 `输出 0 "执行成功"`; `输出 3 "请及时更新依赖"`
|
||||
输出() {
|
||||
if (($1 == 0)); then
|
||||
echo -e "${色彩[2]}[${色彩重置}${色彩[1]} 成功 ${色彩重置}${色彩[2]}]${色彩重置} $2"
|
||||
elif (($1 == 1)); then
|
||||
echo -e "${色彩[2]}[${色彩重置}${色彩[3]} 失败 ${色彩重置}${色彩[2]}]${色彩重置} $2"
|
||||
exit 1
|
||||
elif (($1 == 2)); then
|
||||
echo -e "${色彩[2]}[${色彩重置}${色彩[4]} 信息 ${色彩重置}${色彩[2]}]${色彩重置} $2"
|
||||
elif (($1 == 3)); then
|
||||
echo -e "${色彩[2]}[${色彩重置}${色彩[5]} 通知 ${色彩重置}${色彩[2]}]${色彩重置} $2"
|
||||
fi
|
||||
}
|
||||
|
||||
# 灰色信息(处理一些无关紧要的信息, 调用后在没有清除颜色之前会一直使用灰色输出)
|
||||
色彩_灰色() {
|
||||
echo -e "${色彩[2]}\c"
|
||||
}
|
||||
|
||||
# 清除颜色(一般和灰色信息连用)
|
||||
色彩_清除() {
|
||||
echo -e "${色彩重置}\c"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# 通用函数 #
|
||||
###############################################################################
|
||||
|
||||
# 用判断用户输入的值, 输入 `是/Y/y/yes` 返会0, 其他情况返会1
|
||||
# 位置参数 1 -> 字符 <- 用于提示用户选择时候的提示语
|
||||
是否() {
|
||||
输出 3 "$1((是/否 Yes/No))"
|
||||
read r
|
||||
if echo "$r" | grep -Eq "^[是Yy][Ee]?[Ss]?$";then
|
||||
return 0
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
85
安装.zsh
85
安装.zsh
|
@ -5,6 +5,9 @@ export PATH=/usr/sbin:$PATH
|
|||
export DEBIAN_FRONTEND=noninteractive
|
||||
# 加载系统配置
|
||||
source /etc/os-release
|
||||
# 加载公共函数
|
||||
. ./公共/函数.zsh
|
||||
|
||||
# 脚本在执行过程中遇到任何非零返回码的命令时立即退出
|
||||
set -e
|
||||
|
||||
|
@ -24,66 +27,9 @@ readonly 系统_发行版_名称=$(echo "${NAME}")
|
|||
# 龙架构区分新旧世界的标志位
|
||||
世界_类型="新世界"
|
||||
|
||||
###############################################################################
|
||||
# 终端配色 #
|
||||
###############################################################################
|
||||
|
||||
# 将终端的输出重置为默认设置,并且不会换行(用于重置终端的字体颜色、背景色和文本样式等设置)
|
||||
echo -e "\e[0m\c"
|
||||
|
||||
# 色彩配置
|
||||
readonly 色彩重置='\e[0m'
|
||||
readonly 色彩=(
|
||||
'\e[92m' # 1: 绿
|
||||
'\e[90m' # 2: 灰
|
||||
'\e[31m' # 3: 暗红
|
||||
'\e[32m' # 4: 暗绿
|
||||
'\e[33m' # 5: 暗黄
|
||||
)
|
||||
|
||||
# echo "${色彩[1]} 绿 ${色彩重置} ${色彩[2]} 灰 ${色彩重置} ${色彩[3]} 红 ${色彩重置} ${色彩[4]} 绿 ${色彩重置} ${色彩[5]} 黄 ${色彩重置}"
|
||||
|
||||
# 用于规范输出的工具
|
||||
# 位置参数 1 -> 整数 <- 1: 成功(亮绿); 2: 失败(红色); 3: 信息(绿色); 4: 通知(黄色)
|
||||
# 位置参数 2 -> 字符 <- 在命令行输出的字符串
|
||||
# 实例 `输出 0 "执行成功"`; `输出 3 "请及时更新依赖"`
|
||||
输出() {
|
||||
if (($1 == 0)); then
|
||||
echo -e "${色彩[2]}[${色彩重置}${色彩[1]} 成功 ${色彩重置}${色彩[2]}]${色彩重置} $2"
|
||||
elif (($1 == 1)); then
|
||||
echo -e "${色彩[2]}[${色彩重置}${色彩[3]} 失败 ${色彩重置}${色彩[2]}]${色彩重置} $2"
|
||||
exit 1
|
||||
elif (($1 == 2)); then
|
||||
echo -e "${色彩[2]}[${色彩重置}${色彩[4]} 信息 ${色彩重置}${色彩[2]}]${色彩重置} $2"
|
||||
elif (($1 == 3)); then
|
||||
echo -e "${色彩[2]}[${色彩重置}${色彩[5]} 通知 ${色彩重置}${色彩[2]}]${色彩重置} $2"
|
||||
fi
|
||||
}
|
||||
|
||||
# 灰色信息(处理一些无关紧要的信息, 调用后在没有清除颜色之前会一直使用灰色输出)
|
||||
色彩_灰色() {
|
||||
echo -e "${色彩[2]}\c"
|
||||
}
|
||||
|
||||
# 清除颜色(一般和灰色信息连用)
|
||||
色彩_清除() {
|
||||
echo -e "${色彩重置}\c"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# 函数/方法 #
|
||||
###############################################################################
|
||||
是否() {
|
||||
输出 3 "$1((是/否 Yes/No))"
|
||||
read r
|
||||
if echo "$r" | grep -Eq "^[是Yy][Ee]?[Ss]?$";then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
检查_架构() {
|
||||
case ${CPU_架构} in
|
||||
*x86_64*)
|
||||
|
@ -125,8 +71,10 @@ readonly 色彩=(
|
|||
输出_主机配置(){
|
||||
echo "
|
||||
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
||||
* 欢迎使用 寻觅 配置脚本 *
|
||||
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
||||
* 欢迎使用 言灵 配置脚本 *
|
||||
* 一个可以让你在命令行中使用 *
|
||||
* 中文的工具 *
|
||||
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
||||
"
|
||||
输出 2 "主机信息检测模块启动"
|
||||
检查_架构
|
||||
|
@ -134,10 +82,29 @@ readonly 色彩=(
|
|||
输出 0 "主机信息检测完毕"
|
||||
}
|
||||
|
||||
配置_包管理器(){
|
||||
输出 2 "正在配置包管理器"
|
||||
|
||||
}
|
||||
|
||||
优化_常用命令(){
|
||||
readonly 列表=(
|
||||
["vim"]="添加常用配置项(允许复制 添加行号 显式当前行等), 常用插件(目录 语法检测),"
|
||||
["ls"]="使用lsd替代老旧的ls, 需要rust的cargo"
|
||||
["top"]="使用btop替代老旧的top"
|
||||
["cat"]="使用lsd替代老旧的ls, 需要rust的cargo"
|
||||
["sed"]="使用学习成本较低的sd替代sed"
|
||||
)
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# 入口(main) #
|
||||
###############################################################################
|
||||
|
||||
输出_主机配置
|
||||
配置_包管理器
|
||||
|
||||
# 优化_常用命令
|
||||
# 配置_开发环境
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user