#!/bin/sh prog=${0##*/} usage() { cat <&2 fi } OPTS=$(getopt -l quiet,help,header:,output-document:,spider,timeout:,tries: -o "qhO:T:t:" -n $prog -- "$@") || usage "1" >&2 quiet= eval set -- "$OPTS" while true; do opt="$1" case "$opt" in -h|--help) usage 0 ;; -q|--quiet) quiet=1 ;; --header) shift;; --spider) exit ${SPIDER_STATUS:-0} ;; -O|--output-document) shift outfile="$1" ;; -T|--timeout) shift;; -t|--tries) shift;; --) shift break ;; *) usage "1" >&2 ;; esac shift done if [ $# -eq 0 ]; then usage "1" >&2 fi for url; do case "$url" in "") msg "bad address"; exit 1;; *fail*) msg "bad address"; exit 1;; *404*) msg "wget: server returned error: HTTP/1.1 404 Not Found"; exit 1;; esac done if [ -z "$WGETCONTENT" ]; then WGETCONTENT=$( cat "$(echo ${url#http*://} | tr '/' '_')" 2>/dev/null) fi : "${outfile:=index.html}" case "$outfile" in -) msg "writing to stdout" echo "$WGETCONTENT" ;; *) msg "saving to '$outfile'" echo "$WGETCONTENT" > "$outfile" ;; esac