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