#!/bin/sh if [ -z "$1" ] ; then echo "usage: {ttar|ctar} archive.{tar|tgz|bz2|zip|rar} [filenames...]" 1>&2 exit 1 fi case "$1" in *.tar) T="tar tvf" C="tar cvf" ;; *.tgz|*.tar.gz|*.tar.Z) T="tar tvfz" C="tar cvfz" ;; *.tbz|*.tar.bz2) T="tar tvfj" C="tar cvfj" ;; *.ace) T="unace v" C="echo ace not supported:" ;; *.ar) T="ar tv" C="echo ar not supported:" ;; *.deb) T="dpkg-deb --contents" C="echo ar not supported:" ;; *.arj) T="unarj v" C="echo arj not supported:" ;; *.lzh) T="lha v" C="lha a" ;; *.rar) T="unrar v" C="echo rar not supported:" ;; *.xar) T="xar -tvf" C="xar -cf" ;; *.zip|*.exe) T="unzip -l" C="zip -r" ;; *.7z) T="7z l" C="7z a" ;; *) echo "$0 error: suffix not recognized: $1" 1>&2 exit 1 ;; esac case "$0" in *ttar) $T "$@" ;; *ctar) $C "$@" ;; *) echo "$0 error: called with unknown name" 1>&2 exit 1 ;; esac