#!/bin/sh # # Get a list of files from an anonymous FTP site # HOST=ftp.sunet.se usage() { echo "usage: $(basename $0) [-h host] filelist" >&2 exit 1 } while getopts ":h:" c do case "$c" in h) HOST=$OPTARG;; :|'?') usage;; esac done shift $(($OPTIND - 1)) [ $# -eq 0 ] && usage files=$(cat $1) || exit 1 ( echo "user anonymous foo@bar.com" IFS=" " for f in $files; do [ x$f = x ] && continue case "$f" in \ *) continue;; \#*) continue;; esac echo "cd $(dirname $f)" echo "get $(basename $f)" done echo quit ) | ftp -n $HOST .