diff --git a/lib/helper/mk_link b/lib/helper/mk_link index 15ce8c6..6d4f4e5 100755 --- a/lib/helper/mk_link +++ b/lib/helper/mk_link @@ -1,17 +1,23 @@ #! env zsh # -*- sh -*- -REPORT=`dirname $0`/report +REPORT="`dirname $0`/report" if [ -z "$1" ] || [ -z "$2" ] ; then - $REPORT error "ERROR: Both to and from string must be defined.\n source: $1 \n symlnk: $2" + "$REPORT" error "ERROR: Both to and from string must be defined.\n source: $1 \n symlnk: $2" exit fi if [[ -e $2 ]] ; then - $REPORT warn "$2 already exist. Skipping." + "$REPORT" info "$2 already exist. Skipping." exit fi -$REPORT info "Symlinked `ln -svf $1 $2`" +parent=$(dirname "$2") +if [[ ! -e $parent ]] ; then + "$REPORT" warn "$parent doesn't exist. Creating." + mkdir -p $parent +fi + +"$REPORT" info "Symlinked `ln -svf $1 $2`"