Một phiên bản thậm chí còn chung hơn cho phép sử dụng findcác tùy chọn:
#!/bin/bash
set -e
path="$1"
shift 1
while [[ $path != / ]];
do
    find "$path" -maxdepth 1 -mindepth 1 "$@"
    # Note: if you want to ignore symlinks, use "$(realpath -s "$path"/..)"
    path="$(readlink -f "$path"/..)"
done
Ví dụ: (giả sử tập lệnh được lưu dưới dạng find_up.sh)
find_up.sh some_dir -iname "foo*bar" -execdir pwd \;
... sẽ in tên của tất cả các some_dirtổ tiên (bao gồm cả chính nó) cho đến khi /tìm thấy một tệp có mẫu.
Khi sử dụng readlink -fđoạn script trên sẽ theo các liên kết tượng trưng trên đường lên, như đã lưu ý trong các bình luận. realpath -sThay vào đó, bạn có thể sử dụng , nếu bạn muốn theo dõi các đường dẫn theo tên ("/ foo / bar" sẽ chuyển lên "foo" ngay cả khi "thanh" là một liên kết tượng trưng) - tuy nhiên yêu cầu cài đặt realpathkhông được cài đặt theo mặc định trên hầu hết các nền tảng.