diff options
Diffstat (limited to 'create_links.sh')
| -rwxr-xr-x | create_links.sh | 35 |
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 |
