# Common functions for scripts out() { printf '%s\n' "$@" >&2 ;} err() { printf 'err: %s\n' "$@" >&2 ;} die() { err "$@"; exit 1 ;} lsindex() { # This is a functionized version of lsindex. # Script version: https://gist.github.com/4d8a03d65b7744365aaef88f7877cd22 case "$1" in '') set -- "$PWD" ;; /*) ;; *) set -- "$(cd "$1" || return 1; printf "$PWD")" esac unset parentdir curdir="${PWD#$1}" title="index of ${curdir:=/}" [ "$curdir" = / ] || { parentdir=${curdir%/*}; : "${parentdir:=/}" ;} printf "$title

$title