Tidy up the shell scripts somewhat.
[cfd] / mklinks.in
index 0d57afd..863ead7 100755 (executable)
@@ -71,10 +71,13 @@ done
 
 [ $# = 0 ] && set .links
 cat "$@" | while read name; do
-  base="$(echo $name | sed 's;^.*/;;')"
-  dir="$(echo $name | sed 's;/[^/]*$;;')"
-  mkdir -p "$dir"
-  [ -r "$pkgdatadir/$base" ] && ln -sf "$pkgdatadir/$base" "$name"
+  case "$name" in "" | "#"*) continue ;; esac
+  base=${name##*/} dir=${name%/*}
+  if [ -r "$pkgdatadir/$base" ]; then
+    mkdir -p "$dir"
+    rm -f "$name"
+    ln -sf "$pkgdatadir/$base" "$name"
+  fi
 done
 
 ###----- That's all, folks --------------------------------------------------