/etc/init.d in the default $PATH ?
Sertaç Ö. Yıldız
sertac.liste at gmail.com
Tue Feb 6 12:08:04 UTC 2007
* [05.Şub.07 12:47 -0500] Michel Salim:
> 2007/2/3, Jeffrey C. Ollie <jeff at ocjtech.us>:
> >If you install bash-completion and then type "service TAB" it will show
> >you a list of all of the services.
> >
> One reason I did not realized bash-completion already does this is
> that you have to be root (to have /sbin in your path) for the
> tab-completion to work.
Actually you don’t need to have /sbin in $PATH. Completion works fine if
you just type “service <TAB>” or modify the completion function as
attached.
--
~sertaç
-------------- next part --------------
--- /etc/bash_completion.orig 2007-02-06 11:51:08.000000000 +0200
+++ /etc/bash_completion 2007-02-06 13:49:18.000000000 +0200
@@ -546,7 +546,7 @@
# don't complete for things like killall, ssh and mysql if it's
# the standalone command, rather than the init script
- [[ ${COMP_WORDS[0]} != @(*init.d/!(functions|~)|service) ]] && return 0
+ [[ ${COMP_WORDS[0]} != @(*init.d/!(functions|~)|/sbin/service|service) ]] && return 0
# don't complete past 2nd token
[ $COMP_CWORD -gt 2 ] && return 0
@@ -554,7 +554,7 @@
[ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d \
|| sysvdir=/etc/init.d
- if [[ $COMP_CWORD -eq 1 ]] && [[ $prev == "service" ]]; then
+ if [[ $COMP_CWORD -eq 1 ]] && [[ $prev == "service" || $prev == "/sbin/service" ]]; then
_services
else
COMPREPLY=( $( compgen -W '`sed -ne "y/|/ /; \
More information about the fedora-devel-list
mailing list