#!/bin/sh # set -x DEFAULT_DOTFILES_DIR=$HOME/.dotfiles MV=mv INSTALL=rcup ROOT_DIR=$HOME destination() { if [ $# -eq 2 ]; then echo $1 else echo $1/tag-$3 fi } if [ -e $HOME/.rcrc ]; then . $HOME/.rcrc fi . `dirname $0`/../share/rcm/rcm.sh if [ $# -eq 0 ]; then echo "Usage: mkrc [-d dir] [-t tag] [-v] [-q] filename ..." exit 1 fi for DOTFILES_DIR in $DOTFILES_DIRS $DEFAULT_DOTFILES_DIR; do break done tag= verbosity=0 version=0 while getopts Vvqt:d: opt; do case "$opt" in t) tag=$OPTARG;; v) verbosity=$(($verbosity + 1));; q) verbosity=$(($verbosity - 1));; d) DOTFILES_DIR=$OPTARG;; V) version=1 esac done shift $(($OPTIND-1)) if [ $version -eq 1 ]; then version mkrc exit 0 elif [ $verbosity -ge 2 ]; then MV="$MV -v" INSTALL="$INSTALL -vv" elif [ $verbosity -eq 1 ]; then MV="$MV -v" INSTALL="$INSTALL -v" elif [ $verbosity -eq 0 ]; then MV="$MV -v" else INSTALL="$INSTALL -q" fi files=$@ for file in $files; do dotless=`echo $file | sed -e "s|$ROOT_DIR/||" | sed -e 's/^\.//'` dest=`destination $DOTFILES_DIR $dotless $tag` mkdir -p $dest/`dirname $dotless` $MV $file $dest/$dotless $INSTALL -d $DOTFILES_DIR -t ${tag:--} $dotless done