summaryrefslogtreecommitdiff
path: root/share/rcm.sh.in
diff options
context:
space:
mode:
authorGravatar patrick brisbin <pbrisbin@gmail.com>2014-02-27 11:20:31 -0500
committerGravatar Mike Burns <mike@mike-burns.com>2014-03-04 15:56:52 +0100
commit00626fe2703dbfc40f8b488af4d845521bc49ab8 (patch)
tree82723178c8531b002c48c51134fb25618aa33eab /share/rcm.sh.in
parent97fb92d1a9dbcd1a6d62e33fa4b549f75335e214 (diff)
Add quoting, remove backticks, use $PWD
Diffstat (limited to 'share/rcm.sh.in')
-rw-r--r--share/rcm.sh.in33
1 files changed, 19 insertions, 14 deletions
diff --git a/share/rcm.sh.in b/share/rcm.sh.in
index a5a7679..13120f7 100644
--- a/share/rcm.sh.in
+++ b/share/rcm.sh.in
@@ -3,7 +3,7 @@ VERSION="@PACKAGE_VERSION@"
#set -x
DEBUG=:
-DEST_DIR=$HOME
+DEST_DIR="$HOME"
PRINT=echo
PROMPT=echo_n
ERROR=echo_error
@@ -12,11 +12,11 @@ MKDIR=mkdir
LN="ln -s"
CP="cp -R"
RM=rm
-DEFAULT_DOTFILES_DIR=$HOME/.dotfiles
+DEFAULT_DOTFILES_DIR="$HOME/.dotfiles"
MV=mv
INSTALL=rcup
-ROOT_DIR=$HOME
-HOSTNAME=`hostname | sed -e 's/\..*//'`
+ROOT_DIR="$HOME"
+HOSTNAME="$(hostname | sed -e 's/\..*//')"
unset CDPATH
@@ -27,16 +27,16 @@ echo_n() {
echo_error() {
local exit_status=$1
shift
- echo $* >&2
+ echo "$*" >&2
exit $exit_status
}
echo_stderr() {
- echo $* >&2
+ echo "$*" >&2
}
is_relative() {
- echo $1 | grep -vq '^/'
+ echo "$1" | grep -vq '^/'
}
version() {
@@ -50,12 +50,12 @@ EOV
}
handle_common_flags() {
- local prog_name=$1
- local version=$2
+ local prog_name="$1"
+ local version="$2"
local verbosity=$3
if [ $version -eq 1 ]; then
- version $prog_name
+ version "$prog_name"
exit 0
elif [ $verbosity -ge 2 ]; then
DEBUG=echo_stderr
@@ -92,8 +92,8 @@ handle_common_flags() {
}
handle_metadata_flags() {
- local arg_tags=$1
- local dotfiles_dirs=$2
+ local arg_tags="$1"
+ local dotfiles_dirs="$2"
: ${TAGS:=$arg_tags}
: ${DOTFILES_DIRS:=$dotfiles_dirs}
@@ -107,7 +107,12 @@ run_hooks() {
$DEBUG " with DOTFILES_DIRS: $DOTFILES_DIRS"
local when="$1"
local direction="$2"
- local hook_file
+ local hook_file="$dotfiles_dir/hooks/$when-$direction"
+
+ if [ ! -e "$hook_file" ]; then
+ $DEBUG "no $when-$direction hook file, skipping"
+ return 1
+ fi
if [ $RUN_HOOKS -eq 1 ]; then
for dotfiles_dir in $DOTFILES_DIRS; do
@@ -126,7 +131,7 @@ run_hooks() {
de_dot() {
$DEBUG "de_dot $1"
$DEBUG " with DEST_DIR: $DEST_DIR"
- echo $1 | sed -e "s|$DEST_DIR/||" | sed -e 's/^\.//'
+ echo "$1" | sed -e "s|$DEST_DIR/||" | sed -e 's/^\.//'
}
: ${RCRC:=$HOME/.rcrc}