Files

39 lines
980 B
Bash
Executable File

#!/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