home · contact · privacy
Improve symlink script.
[config] / all_new_2018 / symlink_etc.sh
index 16edd24e6e56949b0f6fa328b3fd80e90f465a81..edee563182d1d02fa3b320bb5bca4dd4e0a0fec8 100755 (executable)
@@ -6,10 +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 . -type f); do
-    src=$(echo "${path}" | cut -c2-)
-    dest=$(realpath "${path}")
-    ln -fs "${dest}" "${src}"
+    linking=$(echo "${path}" | cut -c2-)
+    linked=$(realpath "${path}")
+    dir=$(dirname "${linking}")
+    mkdir -p "${dir}"
+    ln -fs "${linked}" "${linking}"
 done