From cc6b975b67df97cecb6a7b95b74fb18ca85b060f Mon Sep 17 00:00:00 2001 From: Chih-Wei Huang Date: Wed, 14 Jun 2017 10:28:04 +0800 Subject: [PATCH] lndir: fix symbolic dir handling --- initrd/bin/lndir | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/initrd/bin/lndir b/initrd/bin/lndir index 7511132..778fa27 100755 --- a/initrd/bin/lndir +++ b/initrd/bin/lndir @@ -20,11 +20,12 @@ linkdir() local d="$PWD" cd "$odir" && cd "$1" for f in * .*; do - [ "$f" = "." -o "$f" = ".." ] && continue - if [ -d "$f" ]; then - linkdir "$f" "$d/$f" - elif [ -e "$f" ]; then - ln $verbose "$f" "$d" + if [ "$f" != "." -a "$f" != ".." -a -e "$f" ]; then + if [ -d "$f" -a ! -L "$f" ]; then + linkdir "$f" "$d/$f" + else + ln $verbose "$f" "$d" + fi fi done cd "$odir" -- 2.11.0