From 7f41df91f18cb32a34d4cff2746e4344d8f7830d Mon Sep 17 00:00:00 2001 From: emmett1 Date: Sun, 15 Mar 2026 23:58:18 +0800 Subject: fix symlink show twice, one as symlink, one as directory --- sfm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sfm b/sfm index 744c98c..afc6575 100755 --- a/sfm +++ b/sfm @@ -94,17 +94,19 @@ load_entries() { # build list of dir names then file names, including dotfiles if enabled for d in "$CWD"/*/; do [ -d "$d" ] || continue + [ -L "${d%/}" ] && continue # symlinks handled separately name="${d%/}"; name="${name##*/}" [ "$name" = "*" ] && continue - case "$name" in .*) continue ;; esac # skip dotdirs here, handle below + case "$name" in .*) continue ;; esac ENTRIES="$ENTRIES ${name}/" COUNT=$((COUNT + 1)) done if [ "$SHOW_HIDDEN" = "1" ]; then - for d in "$CWD"/./; do : ; done # no-op, just to avoid error + for d in "$CWD"/./; do : ; done for d in "$CWD"/.*/; do [ -d "$d" ] || continue + [ -L "${d%/}" ] && continue # symlinks handled separately name="${d%/}"; name="${name##*/}" [ "$name" = "." ] || [ "$name" = ".." ] && continue [ "$name" = ".*" ] && continue -- cgit v1.2.3