diff options
author | Mike Frysinger <vapier@gentoo.org> | 2016-04-04 01:35:34 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2016-04-04 01:35:34 -0400 |
commit | ee22fe8793679e0f366a5501e3c7b576a9eb46c9 (patch) | |
tree | 0c16b56890277c94eaf93f38ccad0ee2f1189390 /examples/undeb | |
parent | ea1b44412a5802f507880ae8b705d58360e387c0 (diff) | |
download | busybox-ee22fe8793679e0f366a5501e3c7b576a9eb46c9.tar.gz |
undeb: clean up
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'examples/undeb')
-rwxr-xr-x | examples/undeb | 74 |
1 files changed, 40 insertions, 34 deletions
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 <Print control file info>" -echo " undeb -l package.deb <List contents of deb package>" -echo " undeb -x package.deb /foo/boo <Extract deb package to this directory," -echo " put . for current directory>" -exit + cat <<EOF +Usage: undeb -c package.deb <Print control file info> + undeb -l package.deb <List contents of deb package> + undeb -x package.deb /foo/boo <Extract deb package to this directory, + put . for current directory> +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 |