Files
.pouch/install.sh
2026-07-04 10:50:03 +08:00

70 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
REPO="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
BIN_DIR="${HOME}/.local/bin"
PATH_MARKER="# skiff: ~/.local/bin"
mkdir -p "$BIN_DIR"
ln -sf "$REPO/bin/skiff" "$BIN_DIR/skiff"
echo "已安装 skiff -> $BIN_DIR/skiff"
path_already_configured() {
local file="$1"
[[ -f "$file" ]] && grep -qF "$PATH_MARKER" "$file"
}
configure_bash() {
local rc="${HOME}/.bashrc"
if path_already_configured "$rc"; then
echo "bash: $rc 已配置 PATH,跳过"
return
fi
{
echo ""
echo "$PATH_MARKER"
echo 'export PATH="$HOME/.local/bin:$PATH"'
} >>"$rc"
echo "bash: 已写入 $rc"
}
configure_zsh() {
local rc="${HOME}/.zshrc"
if path_already_configured "$rc"; then
echo "zsh: $rc 已配置 PATH,跳过"
return
fi
{
echo ""
echo "$PATH_MARKER"
echo 'export PATH="$HOME/.local/bin:$PATH"'
} >>"$rc"
echo "zsh: 已写入 $rc"
}
configure_fish() {
local fish_dir="${HOME}/.config/fish"
local rc="${fish_dir}/config.fish"
mkdir -p "$fish_dir"
if path_already_configured "$rc"; then
echo "fish: $rc 已配置 PATH,跳过"
return
fi
{
echo ""
echo "$PATH_MARKER"
echo 'fish_add_path -gm --prepend ~/.local/bin'
} >>"$rc"
echo "fish: 已写入 $rc"
}
configure_bash
configure_zsh
configure_fish
echo ""
echo "请重新打开终端,或执行以下命令使 PATH 生效:"
echo " bash: source ~/.bashrc"
echo " zsh: source ~/.zshrc"
echo " fish: source ~/.config/fish/config.fish"