diff --git a/examples/undeb b/examples/undeb index 37104e9d8..c30baf31b 100755 --- a/examples/undeb +++ b/examples/undeb @@ -5,49 +5,55 @@ # Requires the programs (ar, tar, gzip, and the pager more or less). # usage() { -echo "Usage: undeb -c package.deb " -echo " undeb -l package.deb " -echo " undeb -x package.deb /foo/boo " -exit + cat < + undeb -l package.deb + undeb -x package.deb /foo/boo +EOF + exit } deb=$2 exist() { -if [ "$deb" = "" ]; then -usage -elif [ ! -s "$deb" ]; then -echo "Can't find $deb!" -exit -fi + if [ -z "${deb}" ]; then + usage + elif [ ! -s "${deb}" ]; then + echo "Can't find ${deb}!" + exit 1 + fi } -if [ "$1" = "" ]; then -usage +if [ -z "$1" ]; then + usage elif [ "$1" = "-l" ]; then -exist -type more >/dev/null 2>&1 && pager=more -type less >/dev/null 2>&1 && pager=less -[ "$pager" = "" ] && echo "No pager found!" && exit -(ar -p $deb control.tar.gz | tar -xzO *control ; echo -e "\nPress enter to scroll, q to Quit!\n" ; ar -p $deb data.tar.gz | tar -tzv) | $pager -exit + exist + type more >/dev/null 2>&1 && pager=more + type less >/dev/null 2>&1 && pager=less + [ -z "${pager}" ] && echo "No pager found!" && exit 1 + ( + ar -p "${deb}" control.tar.gz | tar -xzO *control + printf "\nPress enter to scroll, q to Quit!\n\n" + ar -p "${deb}" data.tar.gz | tar -tzv + ) | ${pager} + exit elif [ "$1" = "-c" ]; then -exist -ar -p $deb control.tar.gz | tar -xzO *control -exit + exist + ar -p "${deb}" control.tar.gz | tar -xzO *control + exit elif [ "$1" = "-x" ]; then -exist -if [ "$3" = "" ]; then -usage -elif [ ! -d "$3" ]; then -echo "No such directory $3!" -exit -fi -ar -p $deb data.tar.gz | tar -xzvpf - -C $3 || exit -echo -echo "Extracted $deb to $3!" -exit + exist + if [ -z "$3" ]; then + usage + elif [ ! -d "$3" ]; then + echo "No such directory $3!" + exit 1 + fi + ar -p "${deb}" data.tar.gz | tar -xzvpf - -C "$3" || exit + echo + echo "Extracted ${deb} to $3!" + exit else -usage + usage fi