freebsd-dev/gnu/usr.bin/gzip/zmore

53 lines
1.0 KiB
Plaintext
Raw Normal View History

1993-06-18 18:39:41 +00:00
#!/bin/sh
#
# $Id$
1993-06-18 18:39:41 +00:00
if test "`echo -n a`" = "-n a"; then
# looks like a SysV system:
n1=''; n2='\c'
else
n1='-n'; n2=''
fi
1993-06-19 00:22:46 +00:00
oldtty=`stty -g 2>/dev/null`
1993-06-18 18:39:41 +00:00
if stty -cbreak 2>/dev/null; then
cb='cbreak'; ncb='-cbreak'
else
# 'stty min 1' resets eof to ^a on both SunOS and SysV!
cb='min 1 -icanon'; ncb='icanon eof ^d'
fi
1993-06-19 00:22:46 +00:00
if test $? -eq 0 -a -n "$oldtty"; then
trap 'stty $oldtty 2>/dev/null; exit' 0 2 3 5 10 13 15
else
trap 'stty $ncb echo 2>/dev/null; exit' 0 2 3 5 10 13 15
fi
1993-06-18 18:39:41 +00:00
if test $# = 0; then
if test -t 0; then
echo usage: zmore files...
else
1993-06-19 00:22:46 +00:00
gzip -cdfq | eval ${PAGER-more}
fi
1993-06-18 18:39:41 +00:00
else
FIRST=1
for FILE
do
if test $FIRST -eq 0; then
echo $n1 "--More--(Next file: $FILE)$n2"
stty $cb -echo 2>/dev/null
ANS=`dd bs=1 count=1 2>/dev/null`
stty $ncb echo 2>/dev/null
echo " "
if test "$ANS" = 'e' -o "$ANS" = 'q'; then
exit
fi
fi
if test "$ANS" != 's'; then
echo "------> $FILE <------"
1993-06-19 00:22:46 +00:00
gzip -cdfq "$FILE" | eval ${PAGER-more}
1993-06-18 18:39:41 +00:00
fi
if test -t; then
FIRST=0
fi
done
fi