#!/bin/ksh #< mkshar: create easy-to-unpack tar/shar file. # usage: mkshar relative-paths PATH=/bin:/sbin:/usr/bin:/usr/sbin export PATH tag=`basename $0` case "$#" in 0) echo need some files; exit 1 ;; *) ;; esac now=`date '+%Y%m%d-%H%M%S'` zfile="t${now}.Z" manifest="`echo $* | tr ' ' '\012' | pr -5at | expand | sed -e 's/ */ /g' -e 's/^/# /'`" # Header. cat << EndHeader #!/bin/sh # extract uuencoded tar file. # requires uncompress and uudecode to be installed. # generated by $tag on `date` # # MANIFEST: $manifest PATH=/bin:/sbin:/usr/bin; export PATH tmp='$zfile' sed 's/^X//' << 'SHAR_EOF' | uudecode EndHeader # Body. tar cf - $* | compress | uuencode $zfile | sed -e 's/^/X/' # Footer. cat << EndFooter SHAR_EOF uncompress -c $zfile | tar xvf - && rm $zfile exit 0 EndFooter exit 0