home · contact · privacy
Improve symlink script.
[config] / all_new_2018 / symlink_etc.sh
old mode 100644 (file)
new mode 100755 (executable)
index 08f1913..edee563
@@ -6,9 +6,17 @@
 set -e
 
 target="$1"
+if [ ! "${target}" = "all" ] && [ ! "${target}" = "server" ]; then
+    echo "Need proper target."
+    false
+fi
+
 config_tree_prefix="${HOME}/config/all_new_2018/linkable_etc_files/"
 cd "${config_tree_prefix}""${target}"
-for path in $(find .); do
-    dest=$(echo "${path}" | cut -c2-)
-    ln -fs "${path}" "${dest}"
+for path in $(find . -type f); do
+    linking=$(echo "${path}" | cut -c2-)
+    linked=$(realpath "${path}")
+    dir=$(dirname "${linking}")
+    mkdir -p "${dir}"
+    ln -fs "${linked}" "${linking}"
 done