From 45a381a7577e36902671542ca3d7414fad8ea46b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AF=BB=E8=A7=85?= Date: Mon, 5 Feb 2024 00:09:02 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BC=98=E5=8C=96]=20=E5=B0=86=E9=83=A8?= =?UTF-8?q?=E5=88=86=E4=BB=A3=E7=A0=81=E7=A7=BB=E5=85=A5=E5=85=AC=E5=85=B1?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E6=A8=A1=E5=9D=97,=20=E5=88=9D=E6=AD=A5?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E5=AE=89=E8=A3=85=E8=84=9A=E6=9C=AC=E7=9A=84?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=91=BD=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 公共/函数.zsh | 68 +++++++++++++++++++++++++++++++++++++++++ 安装.zsh | 85 ++++++++++++++++----------------------------------- 2 files changed, 94 insertions(+), 59 deletions(-) create mode 100644 公共/函数.zsh diff --git a/公共/函数.zsh b/公共/函数.zsh new file mode 100644 index 0000000..0039375 --- /dev/null +++ b/公共/函数.zsh @@ -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 +} + diff --git a/安装.zsh b/安装.zsh index d4302d1..978647f 100755 --- a/安装.zsh +++ b/安装.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) # ############################################################################### 输出_主机配置 +配置_包管理器 + +# 优化_常用命令 +# 配置_开发环境 +