diff options
author | Luke Shumaker <LukeShu@sbcglobal.net> | 2013-01-27 16:10:40 -0500 |
---|---|---|
committer | Luke Shumaker <LukeShu@sbcglobal.net> | 2013-01-27 16:10:40 -0500 |
commit | 43f3fd77c8daf23acf86f0fff7ef95f00ec52225 (patch) | |
tree | 6e184e9dd9c274842503c27af27a8ac56c2b55a0 /.config/symlinks.sh | |
parent | 2fe7b0cadef73f36555d54cc716c9b6f2fdf7f6b (diff) |
Create a system for adding symlinks to .config
Diffstat (limited to '.config/symlinks.sh')
-rwxr-xr-x | .config/symlinks.sh | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/.config/symlinks.sh b/.config/symlinks.sh new file mode 100755 index 0000000..a3db6ae --- /dev/null +++ b/.config/symlinks.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +sed -e '/^\s*$/d' -e '/#/d' symlinks | while read _path _link; do + path="$(sed -rn 's|[^/]+/|../|g;s|/[^/]+$|/|p' <<<"$_link")${_path}" + link="$HOME/$_link" + if [[ -L "$link" ]]; then + rm -f "$link" + fi + if [[ -e "$link" ]]; then + echo "ERROR: file exists: $link" >> /dev/stderr + else + mkdir -p "${link%/*}" + ln -s "$path" "$link" + fi +done |