setup-kit/config-os-and-apps.sh

57 lines
2.0 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# 一键启动Project
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# 默认分支
BRANCH="dev"
# 使用getopts处理参数
while getopts ":hb:" opt; do
case $opt in
b) BRANCH="$OPTARG" ;;
h)
echo "使用方法: $0 [-d] [-h]"
echo " -d 开发模式"
echo " -h 显示帮助"
exit 0
;;
\?)
echo "无效选项: -$OPTARG" >&2
exit 1
;;
esac
done
# = clone 到 tmp/.config 并加载profile入口
# == 如果已安装过,则不再执行
test -f "$HOME"/.config/.bin/.Runtime/SELF_MARK_AS_INSTALLED_FROM_SCRIPT && {
echo "local.env.ini already exists, end the install. please remove it first if need re-install."
exit 1
}
# == 移走原有配置目录
[ -d "/tmp/.config" ] && rm -rf /tmp/.config # 如果存在, 删除 /tmp/.config
[ -d "$HOME/.config" ] && mv "$HOME/.config" /tmp/.config # 移动原有 $HOME/.config 配置到 /tmp/.config
# 克隆,如果失败则退出
git clone --depth 1 --branch "$BRANCH" --single-branch https://gitea.yever.top/Hawkin/.config.git "$HOME"/.config
test $? -ne 0 && {
echo "git clone failed, please check your network."
# 恢复原有配置
[ -d "$HOME/.config" ] && rm -rf "$HOME/.config"
mv /tmp/.config "$HOME/.config"
echo "restored the old config to $HOME/.config"
exit 1
}
# = 标记已安装
test -d "$HOME"/.config/.bin/.Runtime || mkdir -p "$HOME"/.config/.bin/.Runtime
cat >"$HOME"/.config/.bin/.Runtime/SELF_MARK_AS_INSTALLED_FROM_SCRIPT <<EOF
此文件存在时自动跳过克隆安装, 在安装完成时创建.
如果你想要重新安装, 请删除此文件——下次安装时会将当前配置仓库移动到备份目录(默认为~/.local/share/Origin_Config_Backup.
EOF
echo "git clone success, init project by script itself..."
# = 通过目标仓库的初始化脚本进行初始化
bash "$HOME"/.config/.bin/bin/Init.sh