LINENO
é um recurso do ksh, também presente no bash e no zsh. Não existe esse recurso no shell Bourne, na especificação POSIX ou no traço. Se você precisar do número da linha, certifique-se de que seu script seja executado sob um shell que tenha o recurso. A maioria dos sistemas tem o bash ou o ksh disponível.
if [ -z "$LINENO" ]; then
if type ksh >/dev/null 2>/dev/null; then
exec ksh "$0" "$@"
elif type bash >/dev/null 2>/dev/null; then
exec ksh "$0" "$@"
else
echo 1>&2 "$0: Fatal error: unable to find a shell that supports LINENO."
exit 100
fi
fi