fi
fi
- if [ -z "$BASH_COMPLETION_COMPAT_DIR" ]; then
- complete -A command -o default man
+ has_completion() { return 0; }
+ if [ "$SHELL" = /bin/bash ]; then
+ if [ -d /etc/bash_completion.d -o -d /usr/share/bash-completion/completions ]; then
+ has_completion() { [ -r /etc/bash_completion.d/$1 -o -r /usr/share/bash-completion/completions/$1 ]; }
+ fi
+ elif [ "$SHELL" = /usr/local/bin/bash ]; then
+ if [ -d /usr/local/etc/bash_completion.d ]; then
+ has_completion() { [ -r /usr/local/etc/bash_completion.d/$1 ]; }
+ fi
fi
- complete -A command -o default builtin cgmem_nice command dbus-launch exec \
- killall nice nohup pidof pidOf KillAll pgrep pkill psg pswg su sudo time \
- whence whereis which xargs
- complete -A hostname dig host nslookup nc netcat nmap p ping ping6 socat \
+ for cmd in builtin cgmem_nice command dbus-launch exec \
+ killall man nice nohup pidof pidOf KillAll pgrep pkill psg pswg su sudo \
+ time whence whereis which xargs; do
+ ! has_completion $cmd && complete -A command -o default $cmd
+ done
+
+ for cmd in dig host nslookup nc netcat nmap p ping ping6 socat \
telnet t tt \
tcptraceroute tcptraceroute6 tracert tracert6 traceroute traceroute6 \
- whois wget wget-m wget-wrapper ww
- complete -A hostname -o default distribute ftp lftp r rsync \
- s scp ssh smbclient tcpdump tshark wireshark
+ whois wget wget-m wget-wrapper ww; do
+ ! has_completion $cmd && complete -A hostname $cmd
+ done
+
+ for cmd in distribute ftp lftp r rsync \
+ s scp ssh smbclient tcpdump tshark wireshark; do
+ ! has_completion $cmd && complete -A hostname -o default $cmd;
+ done
+
complete -A job bg fg j jobs wait
complete -A variable unset