#!/bin/bash # if stdin is coming from a pipe, run less if [[ ! -t 0 ]]; then less -FX # if there is only one arg and it is not a directory, less it elif [[ -z "$2" && ! -d "$1" ]]; then less -FX "$1" # otherwise, run dir else ls -lhAF --color=auto "$@" fi