Create run.sh

This commit is contained in:
2025-04-10 10:59:39 -07:00
parent b555dc1e10
commit 07507b1485
4 changed files with 98 additions and 153 deletions
Executable
+97
View File
@@ -0,0 +1,97 @@
#!/bin/sh
# Base URL for fetching additional scripts
BASE_URL="https://timmypidashev.dev/scripts"
# Parse arguments
SCRIPT_TYPE=""
while [ $# -gt 0 ]; do
case $1 in
--type|-t)
SCRIPT_TYPE="$2"
shift 2
;;
--help|-h)
echo "Usage: curl -fsSL https://timmypidashev.dev/scripts/run | sh -s -- [OPTIONS]"
echo ""
echo "Options:"
echo " -t, --type TYPE Specify which script to run"
echo " -h, --help Show this help message"
exit 0
;;
*)
# Remaining arguments will be passed to the script
break
;;
esac
done
# Create a temporary directory for our scripts
TEMP_DIR=$(mktemp -d)
cleanup() {
rm -rf "$TEMP_DIR"
}
trap cleanup EXIT
# Function to download a script
download_script() {
script_path="$1"
output_path="$TEMP_DIR/$script_path"
# Create directory if needed
mkdir -p "$(dirname "$output_path")"
# Download the script
echo "Downloading $script_path..."
curl -fsSL "$BASE_URL/$script_path" -o "$output_path"
chmod +x "$output_path"
}
# Download common utilities first
#download_script "utils/common"
# Source common utilities
#. "$TEMP_DIR/utils/common"
# Interactive menu if no script type was specified
if [ -z "$SCRIPT_TYPE" ]; then
echo "╔════════════════════════════════════════════╗"
echo "║ Welcome to Timmy's scripts library! ║"
echo "╚════════════════════════════════════════════╝"
echo ""
echo "Please select a script to run:"
echo "1) coreboot-t440p - Coreboot a T440p"
echo "5) Quit"
echo ""
selected=0
while [ $selected -lt 1 ] || [ $selected -gt 5 ]; do
printf "Enter your choice [1-5]: "
read -r selected
# Validate input
if ! echo "$selected" | grep -q '^[1-5]$'; then
echo "Please enter a number between 1 and 5."
selected=0
fi
done
case $selected in
1) SCRIPT_TYPE="coreboot-t440p" ;;
5) echo "Exiting."; exit 0 ;;
esac
echo "Running $SCRIPT_TYPE script..."
fi
# Run the requested script type
case "$SCRIPT_TYPE" in
coreboot-t440p)
download_script "scripts/coreboot"
"$TEMP_DIR/scripts/coreboot" "$@"
;;
*)
echo "Unknown script type: $SCRIPT_TYPE"
exit 1
;;
esac