: ########################################################################## # Title : transfer.ftp - transfer a file using FTP # Author : Heiner Steven # Date : 1994-02-03 # Requires : ftp # Category : System Administration # SCCS-Id. : @(#) transfer.ftp 1.2 03/12/19 ########################################################################## # Description # - transfers the file to the given host using FTP (binary # mode) # - To automate the transfer, a temporary file "$HOME/.netrc" # will be created (if not already present) ########################################################################## PN=`basename "$0"` # Program name VER='1.2' Netrc=$HOME/.netrc if [ \( $# -lt 1 \) -o \( ! -r "$1" \) ] then echo >&2 "usage: $PN file [hostname]" exit 1 fi File="$1" Host="${2:-`uname -n`}" Base=`basename "$File"` # If $HOME/.netrc is readable and contains the target host name, # try an automatic FTP transfer. Otherwise, create the file # temporarily, and remove it later on. [ -r $Netrc ] && grep "$Host" $Netrc > /dev/null || { User=`id | sed 's/uid=[0-9][0-9]*(\([^)]*\)).*/\1/'` echo -n "$PN: password ($User@$Host): " stty -echo read PW || { stty echo; exit 1; } stty echo echo " OK" if [ -r "$Netrc" ] then # Create backup of old .netrc mv "$Netrc" "$Netrc".$$ trap 'mv "$Netrc".$$ "$Netrc"' 0 else > "$Netrc" trap 'rm -f "$Netrc"' 0 fi trap "exit 2" 1 2 3 15 echo "machine $Host login $User password $PW" >> "$Netrc" || exit 1 chmod 600 "$Netrc" ls -l "$Netrc" } ftp $Host <