おまけのシェルスクリプト(作者不明)


#!/bin/sh

# 環境変数 $PAGER に値が設定されてない場合は、
# デフォルトとして less を使う。
PAGER=${PAGER-less}

# このスクリプトに与えられた引数を見る。
if [ $# -eq 0 ]; then
# 引数がない場合、hoge | lessdir のように起動されたのだと考える。
# $PAGER を起動そのまま起動しておしまい。
# あとはこいつが、このスクリプトの標準入力を継承するだろう。
exec $PAGER
elif [ -d "$1" ]; then
# 最初の引数がディレクトリを表していれば、
# ls モードと解釈する。引数ぜんぶ (最初のも含め) ls に渡しておしまい。
exec ls -F --color=auto --show-control-chars $*
else
# それ以外なら、ページャとして扱われたのだと考える。
# 引数ぜんぶ (最初のも含め) $PAGER に渡しておしまい。
exec $PAGER $*
fi