aboutsummaryrefslogtreecommitdiff
path: root/create_links.sh
diff options
context:
space:
mode:
Diffstat (limited to 'create_links.sh')
-rwxr-xr-xcreate_links.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/create_links.sh b/create_links.sh
new file mode 100755
index 0000000..8f27993
--- /dev/null
+++ b/create_links.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+# Based on file from https://github.com/benhoskings/dot-files
+
+set -e
+dir="$(cd "$(dirname "$0")" && pwd)/files"
+os=$(uname -o)
+
+create_windows_link()
+{
+ target=$target/$(basename "$link")
+ rm -rvf "$target"
+ if [ -d "$link" ] ; then
+ cmd /c mklink /D $(cygpath -w "$target") $(cygpath -w "$link")
+ else
+ cmd /c mklink $(cygpath -w "$target") $(cygpath -w "$link")
+ fi
+}
+
+create_link()
+{
+ local link=$(echo "$1" | sed "s#^$HOME/##")
+ local target="$2"
+ case "$os" in
+ "Cygwin") create_windows_link ;;
+ *) ln --verbose --symbolic --force "$link" "$target" ;;
+ esac
+}
+
+cd &&
+ls --format=single-column --directory "$dir"/.* | while read f ; do
+ [ "$f" == "$dir/." ] ||
+ [ "$f" == "$dir/.." ] ||
+ create_link "$f" .
+done