diff --git a/etc/rc b/etc/rc index 360bc86b543..efa5ecf30cd 100644 --- a/etc/rc +++ b/etc/rc @@ -165,10 +165,12 @@ purgedir() { for dir do ( - cd "$dir" && ls | while read file + cd "$dir" && for file in .* * do - [ -d "$file" ] && purgedir "$file" - [ -f "$file" ] && rm -f "$file" + [ ."$file" = .. -o ."$file" = ... ] && continue + [ -d "$file" -a ! -L "$file" ] && + purgedir "$file" + [ -f "$file" ] && rm -f -- "$file" done ) done