Permalink
Browse files

test existence, not symlink

it isn't safe to assume that symlinks created in the enabled/* dirs will
be symlinks later...

some users use tools like Dropbox to sync their files across systems,
and these may transform symlinks into regular files.  explicitly
checking for symlinks with tests like [ -h $file ] will break on these
systems.  these tests have been replaced with [ -e $file ] instead.
  • Loading branch information...
1 parent a825c5f commit 758c4f33284515ef4c7f7b315f165a51d2a8a18f @erichs erichs committed May 16, 2012
Showing with 4 additions and 4 deletions.
  1. +3 −3 lib/helpers.bash
  2. +1 −1 plugins/available/z.plugin.bash
View
@@ -39,7 +39,7 @@ bash-it-plugins ()
printf "%-20s%-10s%s\n" 'Plugin' 'Enabled?' 'Description'
for f in $BASH_IT/plugins/available/*.bash
do
- if [ -h $BASH_IT/plugins/enabled/$(basename $f) ]; then
+ if [ -e $BASH_IT/plugins/enabled/$(basename $f) ]; then
enabled='x'
else
enabled=' '
@@ -69,7 +69,7 @@ disable-plugin ()
for f in $BASH_IT/plugins/available/*.bash
do
plugin=$(basename $f)
- if [ -h $BASH_IT/plugins/enabled/$plugin ]; then
+ if [ -e $BASH_IT/plugins/enabled/$plugin ]; then
rm $BASH_IT/plugins/enabled/$(basename $plugin)
fi
done
@@ -114,7 +114,7 @@ enable-plugin ()
fi
plugin=$(basename $plugin)
- if [ -h $BASH_IT/plugins/enabled/$plugin ]; then
+ if [ -e $BASH_IT/plugins/enabled/$plugin ]; then
printf '%s\n' "$1 is already enabled."
return
fi
@@ -15,7 +15,7 @@ about-plugin ' z is DEPRECATED, use fasd instead'
# * z -t foo # goes to most recently accessed dir matching foo
# * z -l foo # list all dirs matching foo (by frecency)
-if [ -h $BASH_IT/plugins/enabled/fasd.plugin.bash ]; then
+if [ -e $BASH_IT/plugins/enabled/fasd.plugin.bash ]; then
printf '%s\n' 'sorry, the z plugin is incompatible with the fasd plugin. you may use either, but not both.'
return
fi

0 comments on commit 758c4f3

Please sign in to comment.