mirror of
https://gitee.com/baidu/amis.git
synced 2024-11-29 18:39:05 +08:00
76c2d1354c
* feat: 主题编辑器渲染器开源 * 笔误 * 优化发布脚本 * 优化发布脚本 * 删除无用代码 * bugfix * bugfix * bugfix * bugfix --------- Co-authored-by: qinhaoyan <30946345+qinhaoyan@users.noreply.github.com>
84 lines
1.9 KiB
Bash
84 lines
1.9 KiB
Bash
#!/bin/bash
|
|
|
|
render_option() {
|
|
for index in "${!choices[@]}"; do
|
|
if [ $index -eq $1 ]; then
|
|
printf "\033[31m> ${choices[$index]}\033[0m\n" # 高亮显示选中的选项
|
|
else
|
|
echo " ${choices[$index]}"
|
|
fi
|
|
done
|
|
}
|
|
|
|
clear_screen() {
|
|
local len=$1
|
|
echo "\033[${len}A\033[K"
|
|
for ((i=1;i<$len;i++)); do
|
|
echo "\033[K"
|
|
done
|
|
echo "\033[$((${len} + 1))A"
|
|
|
|
}
|
|
|
|
select_option() {
|
|
choices=("$@") # 将选项数组声明为全局变量
|
|
local selected=0 # 初始化选择索引
|
|
local choices_lenght=${#choices[@]} # 获取选项数组长度
|
|
render_option $selected
|
|
while true; do
|
|
read -n1 -s key # 读取单个按键并保持输入的隐私
|
|
case "$key" in
|
|
A) # 上箭头
|
|
if [ $selected -gt 0 ]; then
|
|
selected=$((selected - 1))
|
|
else
|
|
selected=$(($choices_lenght - 1))
|
|
fi
|
|
clear_screen $choices_lenght
|
|
render_option $selected
|
|
;;
|
|
B) # 下箭头
|
|
if [ $selected -lt $(($choices_lenght - 1)) ]; then
|
|
selected=$((selected + 1))
|
|
else
|
|
selected=0
|
|
fi
|
|
clear_screen $choices_lenght
|
|
render_option $selected
|
|
;;
|
|
"") # 回车键
|
|
break
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# 打印最终结果日志
|
|
selected_option="${choices[$selected]}"
|
|
}
|
|
|
|
npm_version() {
|
|
local current_version=$1
|
|
local tag=$2
|
|
IFS='.-' read -r major minor patch pre_release pre_release_version <<< "$current_version"
|
|
if [ $tag = $pre_release ]; then
|
|
((pre_release_version++))
|
|
new_version="$major.$minor.$patch-$tag.$pre_release_version"
|
|
else
|
|
((patch++))
|
|
new_version="$major.$minor.$patch"
|
|
fi
|
|
|
|
echo "新版本为:$new_version"
|
|
}
|
|
|
|
npm_get_tag() {
|
|
IFS='.-' read -r major minor patch pre_release pre_release_version <<< "$1"
|
|
if [ "$pre_release" ]; then
|
|
npm_tag=$pre_release
|
|
else
|
|
npm_tag="latest"
|
|
fi
|
|
echo "发布tag为: $npm_tag"
|
|
}
|
|
|