diff options
| author | Anton Bobov <abobov@gmail.com> | 2011-10-14 15:57:10 +0600 |
|---|---|---|
| committer | Anton Bobov <abobov@gmail.com> | 2011-10-14 15:57:10 +0600 |
| commit | fbfc253991663ef7f32f4f704047d5b94c9ddc38 (patch) | |
| tree | 1fcda135b1b9097550792ae36e2a8bb73e4df1da /create_links.sh | |
| parent | c81902f0a9286e794c8cbca8aef40d10d3304a85 (diff) | |
f
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 |
