From: Erich Smith Date: Wed, 16 May 2012 17:00:22 +0000 (-0400) Subject: test existence, not symlink X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=758c4f33284515ef4c7f7b315f165a51d2a8a18f;p=common%2Fbash_it.git 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. --- diff --git a/lib/helpers.bash b/lib/helpers.bash index ad0cfd6..d0c16b8 100644 --- a/lib/helpers.bash +++ b/lib/helpers.bash @@ -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 diff --git a/plugins/available/z.plugin.bash b/plugins/available/z.plugin.bash index 14a6543..6653575 100644 --- a/plugins/available/z.plugin.bash +++ b/plugins/available/z.plugin.bash @@ -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