Compare commits
4 commits
12f33a67d5
...
7b03c15879
| Author | SHA1 | Date | |
|---|---|---|---|
| 7b03c15879 | |||
| 5909ed8158 | |||
| 383b936cec | |||
| 7518d708fe |
4 changed files with 117 additions and 19 deletions
68
bin/install.sh
Executable file
68
bin/install.sh
Executable file
|
|
@ -0,0 +1,68 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
DEBUG=false
|
||||||
|
|
||||||
|
# --- Resolve project root directory (always works regardless of where script is run from) ---
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
ROOT_SRC="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||||
|
|
||||||
|
PREFIX="${PREFIX:-/usr/local}"
|
||||||
|
|
||||||
|
INSTALL_DIR="$PREFIX/bin"
|
||||||
|
|
||||||
|
TARGET_NAME="convert-dirs"
|
||||||
|
SCRIPT_NAME="$TARGET_NAME.sh"
|
||||||
|
SCRIPT_PATH="$ROOT_SRC/$SCRIPT_NAME"
|
||||||
|
|
||||||
|
# Optional --prefix CLI override
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case "$1" in
|
||||||
|
--debug)
|
||||||
|
DEBUG=true
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
--prefix)
|
||||||
|
PREFIX="$2"
|
||||||
|
INSTALL_DIR="$PREFIX/bin"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
--help|-h)
|
||||||
|
echo "Usage: $0 [--prefix /desired/install/path]" >&2
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown option: $1"
|
||||||
|
echo "Usage: $0 [--prefix /desired/install/path]" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ "$DEBUG" == true ]]; then
|
||||||
|
echo "🪵 Debug mode enabled"
|
||||||
|
echo "PREFIX: $PREFIX"
|
||||||
|
echo
|
||||||
|
echo "SCRIPT_DIR: $SCRIPT_DIR"
|
||||||
|
echo "ROOT_SRC: $ROOT_SRC"
|
||||||
|
echo
|
||||||
|
echo "INSTALL_DIR: $INSTALL_DIR"
|
||||||
|
echo "TARGET_NAME: $TARGET_NAME"
|
||||||
|
echo "SCRIPT_NAME: $SCRIPT_NAME"
|
||||||
|
echo "SCRIPT_PATH: $SCRIPT_PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check script exists
|
||||||
|
if [[ ! -f "$SCRIPT_PATH" ]]; then
|
||||||
|
echo "❌ Error: Expected to find $SCRIPT_NAME at: $SCRIPT_PATH" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Copy to install location
|
||||||
|
echo "📦 Installing $SCRIPT_NAME to $INSTALL_DIR/$TARGET_NAME ..."
|
||||||
|
sudo install -m 755 "$SCRIPT_PATH" "$INSTALL_DIR/$TARGET_NAME"
|
||||||
|
|
||||||
|
echo "Installed successfully."
|
||||||
|
echo "Run it with: $TARGET_NAME"
|
||||||
|
echo "Add to your PATH if not already:"
|
||||||
|
echo " export PATH=\"$INSTALL_DIR:\$PATH\""
|
||||||
49
bin/uninstall.sh
Executable file
49
bin/uninstall.sh
Executable file
|
|
@ -0,0 +1,49 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
DEBUG=false
|
||||||
|
|
||||||
|
ROOT_SRC=".."
|
||||||
|
TARGET_NAME="convert-dirs"
|
||||||
|
|
||||||
|
PREFIX="${PREFIX:-/usr/local}"
|
||||||
|
INSTALL_PATH="$PREFIX/bin/$TARGET_NAME"
|
||||||
|
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case "$1" in
|
||||||
|
--debug)
|
||||||
|
DEBUG=true
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
--prefix)
|
||||||
|
PREFIX="$2"
|
||||||
|
INSTALL_PATH="$PREFIX/bin/$TARGET_NAME"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
--help|-h)
|
||||||
|
echo "Usage: $0 [--prefix /custom/bin/path]" >&2
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown option $1" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ "$DEBUG" == true ]]; then
|
||||||
|
echo "ROOT_SRC=$ROOT_SRC"
|
||||||
|
echo "TARGET_NAME=$TARGET_NAME"
|
||||||
|
echo "PREFIX=$PREFIX"
|
||||||
|
echo "INSTALL_PATH=$INSTALL_PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# check and remove
|
||||||
|
if [[ ! -f "$INSTALL_PATH" ]]; then
|
||||||
|
echo "❌ $INSTALL_PATH not found. Nothing to uninstall."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "🗑️ Removing $INSTALL_PATH ..."
|
||||||
|
sudo rm "$INSTALL_PATH"
|
||||||
|
echo "✅ Uninstalled successfully."
|
||||||
19
install.sh
19
install.sh
|
|
@ -1,19 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
SCRIPT_NAME="convert_dirs.sh"
|
|
||||||
INSTALL_DIR="/usr/local/bin"
|
|
||||||
TARGET_NAME="convert_dirs"
|
|
||||||
|
|
||||||
# Check script exists
|
|
||||||
if [[ ! -f "$SCRIPT_NAME" ]]; then
|
|
||||||
echo "❌ Error: $SCRIPT_NAME not found in current directory." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Copy to install location
|
|
||||||
echo "📦 Installing $SCRIPT_NAME to $INSTALL_DIR/$TARGET_NAME ..."
|
|
||||||
sudo install -m 755 "$SCRIPT_NAME" "$INSTALL_DIR/$TARGET_NAME"
|
|
||||||
|
|
||||||
echo "✅ Installed successfully."
|
|
||||||
echo "🔧 Run it with: $TARGET_NAME"
|
|
||||||
Loading…
Add table
Reference in a new issue