- #!/usr/bin/env bash
- set -euo pipefail
- IFS=$'\n\t'
- # Create symlink after backing up the target.
- usage="Usage: ${0##*/} source_file target_file"
- src=${1:?$usage}
- tgt=${2:?$usage}
- bak=~/.backup
- [[ ! -d $bak ]] && mkdir $bak
- [[ -e "$tgt" ]] && mv -v "$tgt" "$bak/${tgt##*/}-$(date '+%Y%m%d-%H%M%S')" || true
- ln -sfv "$src" "$tgt"
|