Compare commits

...

4 commits

Author SHA1 Message Date
7b03c15879 updated uninstall 2025-05-12 04:41:33 +03:00
5909ed8158 update script name 2025-05-12 03:48:44 +03:00
383b936cec updateed install and uninstall so it works 2025-05-12 03:27:10 +03:00
7518d708fe move install to bin 2025-05-12 03:03:42 +03:00
4 changed files with 117 additions and 19 deletions

68
bin/install.sh Executable file
View 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
View 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."

View file

@ -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"