Shell scripting
Hi there people,
I have a script that performs batch zipping of files. Trouble is that it
only does one file at a time (kind of going against the "batch" idea).
Could someone point out the silly mistake I am obviously making?
Chers,
Pete.
--------------------------------------------------------------
#!/bin/sh
#
# batch zip
# invoke with batchzip <filespec>
#
# this will zip all files in the current directory that conform
# to the file spec.
#
ZIP="/usr/bin/zip"
ARGS="-mT"
if [ -n "$1" ]
then
    if [ -x "$ZIP" ]
    then
        nofiles=0
        for file in "$1"
 do
            filename=${file%.*}
            echo "Adding $file to $filename.zip..."
            $ZIP $ARGS "$filename" "$file" > /dev/null
            let "nofiles += 1"
        done
        echo
        echo "finished ... processed $nofiles files."
        echo
        retval=0
    else
        echo
        echo "Could not find 'zip'. Please check the path."
        echo
        retval=2
    fi
else
    echo
    echo "Usage : `basename $0` <filespec>"
    echo
    retval=1
fi
exit $retval
Reply to: