feat: udpate fish
This commit is contained in:
Executable
+69
@@ -0,0 +1,69 @@
|
||||
#!/bin/bash
|
||||
# 将 herdr 配置链接到 dotfile
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
# shellcheck disable=SC1091
|
||||
source "$SCRIPT_DIR/common/help.sh"
|
||||
|
||||
usage() {
|
||||
cat <<'EOF'
|
||||
用法: herdr-init
|
||||
|
||||
将 ~/.dotfile/herdr/config.toml 软链接到 herdr 配置路径:
|
||||
$XDG_CONFIG_HOME/herdr/config.toml(默认 ~/.config/herdr/config.toml)
|
||||
|
||||
已有配置会备份为 *.backup.<时间戳>。
|
||||
|
||||
选项:
|
||||
-h, --help 显示此帮助
|
||||
EOF
|
||||
}
|
||||
|
||||
dotfile_help_requested "${1:-}" && dotfile_show_help
|
||||
|
||||
set -e
|
||||
|
||||
SRC="$HOME/.dotfile/herdr/config.toml"
|
||||
CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
|
||||
DEST_DIR="$CONFIG_HOME/herdr"
|
||||
DEST="$DEST_DIR/config.toml"
|
||||
|
||||
if [ ! -f "$SRC" ]; then
|
||||
echo "错误: 未找到 $SRC" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "初始化 herdr 配置..."
|
||||
echo "目标路径: $DEST"
|
||||
|
||||
mkdir -p "$DEST_DIR"
|
||||
|
||||
if [ -L "$DEST" ] && [ "$(readlink -f "$DEST")" = "$(readlink -f "$SRC")" ]; then
|
||||
echo "软链接已存在且指向正确位置,无需操作。"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ -e "$DEST" ] || [ -L "$DEST" ]; then
|
||||
BACKUP="$DEST.backup.$(date +%Y%m%d%H%M%S)"
|
||||
mv "$DEST" "$BACKUP"
|
||||
echo "已将现有配置备份到 $BACKUP"
|
||||
fi
|
||||
|
||||
ln -s "$SRC" "$DEST"
|
||||
|
||||
if [ -L "$DEST" ] && [ "$(readlink -f "$DEST")" = "$(readlink -f "$SRC")" ]; then
|
||||
echo "软链接创建成功: $DEST -> $SRC"
|
||||
else
|
||||
echo "软链接创建失败,请检查路径和权限。" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if command -v herdr >/dev/null 2>&1; then
|
||||
echo "校验配置:"
|
||||
herdr config check || true
|
||||
if pgrep -x herdr >/dev/null 2>&1; then
|
||||
echo "herdr 正在运行,可在 herdr 内用 prefix+shift+r 热重载"
|
||||
fi
|
||||
else
|
||||
echo "未找到 herdr,跳过配置校验"
|
||||
fi
|
||||
Reference in New Issue
Block a user