From: Chris Causer Date: Tue, 31 Jul 2012 10:09:10 +0000 (+0100) Subject: Remove buggy line in install.sh causing "all" option to break X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=980bd9ea78227fb1b756220f6cfbada0539dccb8;p=common%2Fbash_it.git Remove buggy line in install.sh causing "all" option to break When selecting all, I get the following in my plugins/enabled directory $ cd ~/.bash_it/plugins/enabled && ls -l * -> ~/.bash_it/plugins/[^_]available/* In other words, the regexp is not being expanded, and I don't think bash has ever had this capability (I am running 4.2.24) . Looking at the commit 24431627ab24c1c97bf3fb5796037e198f465e25, this line was added so as to disable some plugins starting with a "_". In this circumstance, this line is wrong anyway as it skips the directory "_available", rather than available/_whatever. This commit aims to fix this to the installer's intended purpose. It also does a sanity check that no file exists already in enabled and skips otherwise. ln -s does the right thing however more human error message might be more desirable. --- diff --git a/install.sh b/install.sh index 19f6f52..0f1da39 100755 --- a/install.sh +++ b/install.sh @@ -31,7 +31,16 @@ done function load_all() { file_type=$1 [ ! -d "$BASH_IT/$file_type/enabled" ] && mkdir "$BASH_IT/${file_type}/enabled" - ln -s $BASH_IT/${file_type}/[^_]available/* "${BASH_IT}/${file_type}/enabled" + for src in $BASH_IT/${file_type}/available/*; do + filename="$(basename ${src})" + [ ${filename:0:1} = "_" ] && continue + dest="${BASH_IT}/${file_type}/enabled/${filename}" + if [ ! -e "${dest}" ]; then + ln -s "${src}" "${dest}" + else + echo "File ${dest} exists, skipping" + fi + done } function load_some() {