#!/bin/bash show_help() { echo "Usage: tdl [URL] | -f [FILE]" echo "Download URLs using tiddl." echo "" echo "Arguments:" echo " URL A single URL to download." echo "" echo "Options:" echo " -f, --file FILE Path to a text file containing one URL per line." echo " --help Display this help message and exit." } if [[ $# -eq 0 ]] || [[ "$1" == "--help" ]]; then show_help exit 0 fi if [[ "$1" == "-f" || "$1" == "--file" ]]; then if [[ -z "$2" ]]; then echo "Error: File path required for $1." exit 1 fi INPUT_FILE="$2" if [[ ! -f "$INPUT_FILE" ]]; then echo "Error: File '$INPUT_FILE' not found." exit 1 fi while IFS= read -r url || [[ -n "$url" ]]; do [[ -z "$url" || "$url" =~ ^[[:space:]]*# ]] && continue url=$(echo "$url" | xargs) tiddl download url "$url" done < "$INPUT_FILE" else tiddl download url "$1" fi