-
-
Notifications
You must be signed in to change notification settings - Fork 223
Expand file tree
/
Copy pathuninstall.sh
More file actions
45 lines (35 loc) · 1.51 KB
/
uninstall.sh
File metadata and controls
45 lines (35 loc) · 1.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/sh
set -e
BINARY_NAME="fastforge"
INSTALL_DIR="${FASTFORGE_INSTALL_DIR:-/usr/local/bin}"
BINARY_PATH="${INSTALL_DIR}/${BINARY_NAME}"
# ── Terminal colors ────────────────────────────────────────────────────────────
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
BOLD='\033[1m'
RESET='\033[0m'
info() { printf "${CYAN}info${RESET} %s\n" "$1"; }
success() { printf "${GREEN}✓${RESET} %s\n" "$1"; }
warn() { printf "${YELLOW}warn${RESET} %s\n" "$1"; }
error() { printf "${RED}error${RESET} %s\n" "$1" >&2; exit 1; }
# ── Main ──────────────────────────────────────────────────────────────────────
main() {
printf "\n${BOLD}fastforge uninstaller${RESET}\n\n"
if [ ! -f "$BINARY_PATH" ]; then
warn "${BINARY_NAME} not found at ${BINARY_PATH}. Nothing to uninstall."
exit 0
fi
INSTALLED_VERSION="$("$BINARY_PATH" --version 2>/dev/null || true)"
info "Found: ${INSTALLED_VERSION:-${BINARY_NAME}} at ${BINARY_PATH}"
if [ -w "$BINARY_PATH" ]; then
rm -f "$BINARY_PATH"
else
info "Requesting elevated permissions to remove ${BINARY_PATH}..."
sudo rm -f "$BINARY_PATH"
fi
success "Removed ${BINARY_PATH}"
printf "\n${BOLD}${GREEN}fastforge uninstalled successfully.${RESET}\n\n"
}
main