if [ -z "$BASH_COMPLETION_COMPAT_DIR" ]; then
if [ -d /usr/share/bash-completion -a -r /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
- has_completion() { [ -r /usr/share/bash-completion/completions/$1 ]; }
+ has_completion() { [ -r /usr/share/bash-completion/completions/$1 -o -n "complete -p $1 2>/dev/null" ]; }
elif [ -r /etc/bash_completion ]; then
. /etc/bash_completion
- has_completion() { [ -r /etc/bash_completion.d/$1 ]; }
+ has_completion() { [ -r /etc/bash_completion.d/$1 -o -n "complete -p $1 2>/dev/null" ]; }
elif [ -d /etc/bash_completion.d ]; then
for _compf in /etc/bash_completion.d/*; do
. $_compf
done
- has_completion() { [ -r /etc/bash_completion.d/$1 ]; }
+ has_completion() { [ -r /etc/bash_completion.d/$1 -o -n "complete -p $1 2>/dev/null" ]; }
elif [ -d /usr/local/etc/bash_completion.d ]; then
for _compf in /usr/local/etc/bash_completion.d/*; do
. $_compf
done
- has_completion() { [ -r /usr/local/etc/bash_completion.d/$1 ]; }
+ has_completion() { [ -r /usr/local/etc/bash_completion.d/$1 -o -n "complete -p $1 2>/dev/null" ]; }
else
echo "Unknown OS type, cannot source bash_completion" >&2
fi