123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #!/bin/bash
-
- . "$(ffoom path)" || exit 3
-
- ffoo import inigrep
- ffoo import pretty
-
- DEFAULT_TARGET=$HOME
-
- usage() {
- mkusage "[-t|--target TARGET] [SOURCE] [NAME]"
- }
-
- expand_tilde() {
- #
- # Exchange "~" for home
- #
- perl -pe "s|^[[:space:]]*~|$HOME|"
- }
-
- link() {
- local src=$1
- local dst=$2
- think "linking $src to $dst"
- rm -f "$dst"
- ln -sr "$src" "$dst"
- }
-
- load() {
- inigrep -p "ln.dir.$1" | expand_tilde
- }
-
- while true; do case $1 in
- -t|--target) target=$2 shift 2 || usage ;;
- --help) usage ;;
- -*) usage ;;
- *) src=$1; name=$2; break ;;
- esac done
-
- test -z "$target" && target=$(load target)
- test -z "$target" && target=$DEFAULT_TARGET
- test -z "$name" && name="$(basename "$PWD")"
- test -z "$src" && src="."
-
- debug -v src name target
-
- mkdir -p "$target"
- link "$src" "$target/$name"
|