1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-30 12:04:07 +00:00
freebsd/usr.bin/less/zless.sh
Xin LI 266ab5afbc Note that the manual page of less(1) says:
Note  that  a preprocessor cannot output an empty file, since that
  is interpreted as meaning there is no replacement, and the  origi-
  nal file is used.  To avoid this, if LESSOPEN starts with two ver-
  tical bars, the exit status of the script becomes meaningful.   If
  the  exit  status is zero, the output is considered to be replace-
  ment text, even if it empty.  If the exit status is  nonzero,  any
  output  is ignored and the original file is used.  For compatibil-
  ity with previous versions of less, if LESSOPEN starts  with  only
  one vertical bar, the exit status of the preprocessor is ignored.

Use two pipe symbols for zless, so that zless'ing a compressed empty
file will give output rather than being interpreted as its compressed
form, which is typically a binary.

Thanks Mark Nudelman for pointing out this difference and the
suggested solution.

Reported by:	Matthias Meyser <meyser xenet.de>
PR:		bin/168839
MFC after:	2 weeks
2012-12-03 21:49:37 +00:00

8 lines
95 B
Bash

#!/bin/sh
#
# $FreeBSD$
#
export LESSOPEN="||/usr/bin/lesspipe.sh %s"
exec /usr/bin/less "$@"