lz: Fix bug with filename containing spaces

And add a message on standard error for each file listed/extracted.
This commit is contained in:
Matteo Cypriani 2010-01-06 21:21:11 +01:00
parent 902511b64b
commit 5806fde85a
1 changed files with 19 additions and 13 deletions

32
lz/lz
View File

@ -19,7 +19,7 @@
## Verify program name ## ## Verify program name ##
PROGRAM=`basename $0` PROGRAM="`basename $0`"
if [ "$PROGRAM" = "lz" ] ; then if [ "$PROGRAM" = "lz" ] ; then
ACTION="t" ACTION="t"
@ -42,34 +42,40 @@ fi
## Process files ## ## Process files ##
for F in "$@" ; do for F in "$@" ; do
if [ "$ACTION" = "t" ] ; then
echo "*** Listing « $F » ***" >&2
else
echo "Extracting « $F »…" >&2
fi
# Simple Tar archive # Simple Tar archive
if [ `basename "$F" .tar` != "$F" ] ; then if [ "`basename "$F" .tar`" != "$F" ] ; then
FORMAT="" FORMAT=""
# GZipped Tar # GZipped Tar
elif [ `basename "$F" .tar.gz` != "$F" \ elif [ "`basename "$F" .tar.gz`" != "$F" \
-o `basename "$F" .tgz` != "$F" ] ; then -o "`basename "$F" .tgz`" != "$F" ] ; then
FORMAT="--gzip" FORMAT="--gzip"
# BZipped Tar # BZipped Tar
elif [ `basename "$F" .tar.bz2` != "$F" \ elif [ "`basename "$F" .tar.bz2`" != "$F" \
-o `basename "$F" .tbz` != "$F" \ -o "`basename "$F" .tbz`" != "$F" \
-o `basename "$F" .tb2` != "$F" ] ; then -o "`basename "$F" .tb2`" != "$F" ] ; then
FORMAT="--bzip" FORMAT="--bzip"
# XZipped Tar # XZipped Tar
elif [ `basename "$F" .tar.xz` != "$F" \ elif [ "`basename "$F" .tar.xz`" != "$F" \
-o `basename "$F" .txz` != "$F" ] ; then -o "`basename "$F" .txz`" != "$F" ] ; then
FORMAT="--xz" FORMAT="--xz"
# Compressed Tar # Compressed Tar
elif [ `basename "$F" .tar.Z` != "$F" \ elif [ "`basename "$F" .tar.Z`" != "$F" \
-o `basename "$F" .taz` != "$F" ] ; then -o "`basename "$F" .taz`" != "$F" ] ; then
FORMAT="--compress" FORMAT="--compress"
# LZMA compressed Tar # LZMA compressed Tar
elif [ `basename "$F" .tar.lzma` != "$F" \ elif [ "`basename "$F" .tar.lzma`" != "$F" \
-o `basename "$F" .tlz` != "$F" ] ; then -o "`basename "$F" .tlz`" != "$F" ] ; then
FORMAT="--lzma" FORMAT="--lzma"
# Unknown extension # Unknown extension