Minimales „find“ in Bourne Again Shell

#!/bin/sh

_find() {
    echo $1

    test \! -d "$1" && return

    ls -d "$1"/* | while read f ; do
        test "$(readlink -e "$1")" = "$(readlink -e "$f")" && continue

        echo $f
        _find "$f"
    done
}

_find ${1:-.}