57 lines
1.0 KiB
Bash
57 lines
1.0 KiB
Bash
#! /bin/sh
|
|
#
|
|
# extract tapedev fsf bs keywords tapeserver
|
|
#
|
|
# NOTE! This script assumes that the underlying implementations of
|
|
# tar and dd agree about what size a block is, and that it is 512 bytes
|
|
# long. If this is not the case, then this script and setup_exec will
|
|
# have to be modified.
|
|
#
|
|
# @(#)extracting 1.1 88/06/08 4.0NFSSRC; from 1.6 88/03/07 D/NFS
|
|
# @(#) from extracting 1.10 88/02/08
|
|
#
|
|
# Copyright (c) 1987 by Sun Microsystems, Inc.
|
|
#
|
|
|
|
cmdname=$0
|
|
|
|
case $# in
|
|
4 | 5)
|
|
;;
|
|
*)
|
|
echo Usage: $cmdname tapedev fsf bs keywords tapeserver
|
|
exit 1
|
|
esac
|
|
|
|
tapedev=$1
|
|
fsf=$2
|
|
bs=$3
|
|
keywords=$4
|
|
tapeserver=$5
|
|
|
|
EXTRACTMSG="Extracting \"${keywords}\" files from \"${tapedev}\" release tape."
|
|
|
|
case "${tapeserver}" in
|
|
"")
|
|
REMOTE=""
|
|
mt -t ${tapedev} fsf ${fsf}
|
|
;;
|
|
*)
|
|
REMOTE="rsh ${tapeserver} -n"
|
|
${REMOTE} mt -f ${tapedev} fsf ${fsf}
|
|
;;
|
|
esac
|
|
|
|
echo; echo "${EXTRACTMSG}"
|
|
case "${REMOTE}" in
|
|
"")
|
|
tar xpfb ${tapedev} ${bs}
|
|
;;
|
|
*)
|
|
${REMOTE} dd if=${tapedev} bs=${bs}b 2>/dev/null |
|
|
tar xpfB - 2>/dev/null
|
|
;;
|
|
esac
|
|
sync; sync
|
|
exit 0
|