#!/bin/bash ################################################################################ # Wrapper script for Server Toolkit ################################################################################ # This wrapper allows proper history cleanup by running in the current shell ################################################################################ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # Fix HISTFILE if set to non-existent path (prevents crashes on sourcing) if [ -n "$HISTFILE" ]; then HISTFILE_DIR="$(dirname "$HISTFILE" 2>/dev/null)" if [ ! -d "$HISTFILE_DIR" ] 2>/dev/null; then # Fallback to default history location export HISTFILE="$HOME/.bash_history" fi fi # Check if being sourced or executed if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then echo "ERROR: This script must be sourced, not executed." echo "" echo "Run it like this:" echo " source $0" echo "" echo "Or use the alias:" echo " . $0" exit 1 fi # Run the launcher bash "$SCRIPT_DIR/launcher.sh" # Check if cleanup is requested if [ -f /tmp/.cleanup_requested ]; then rm -f /tmp/.cleanup_requested # Clean history in current shell GREP_PATTERN="git\.mull\.lol|linux-server-management-toolkit|server-toolkit|launcher\.sh|erase-toolkit-traces|run\.sh" if [ -f ~/.bash_history ]; then cp ~/.bash_history ~/.bash_history.bak.$$ grep -Ev "$GREP_PATTERN" ~/.bash_history.bak.$$ > ~/.bash_history 2>/dev/null || true rm -f ~/.bash_history.bak.$$ fi # Clear current shell's history history -c history -r ~/.bash_history unset HISTFILE set +o history # Remove toolkit directory cd /root 2>/dev/null rm -rf "$SCRIPT_DIR" 2>/dev/null clear echo "" echo "✓ All traces removed" echo "" echo "Type 'exit' and start a new shell." echo "" fi