summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Murzov <e-mail@date.by>2011-11-09 04:49:37 +0300
committerIgor Murzov <e-mail@date.by>2011-11-09 04:49:37 +0300
commitfff412b2f2b83e10de8644acbb90535355b39b93 (patch)
treeaa8b6f1258e2f6f4be05329cf34cfeec6dca99fa
parentcb0526cb015d74576bda9c1c994cedc8f77f8829 (diff)
downloadbash-completion-fff412b2f2b83e10de8644acbb90535355b39b93.tar.gz
Revert "Another stab at making service completion work on Slackware."
This reverts commit 1a01e54d856fe2d9496cfaf6d9df8b75d87a9b52. See http://thread.gmane.org/gmane.comp.shells.bash.completion.scm/2278
-rw-r--r--bash_completion12
-rw-r--r--completions/service20
2 files changed, 10 insertions, 22 deletions
diff --git a/bash_completion b/bash_completion
index 44f74c07..9a7eb9f2 100644
--- a/bash_completion
+++ b/bash_completion
@@ -1043,12 +1043,9 @@ _backup_glob='@(#*#|*@(~|.@(bak|orig|rej|swp|dpkg*|rpm@(orig|new|save))))'
#
_services()
{
- local sysvdir=/etc/init.d famdir=/etc/xinetd.d
- if [[ -d /etc/rc.d/init.d ]]; then
- sysvdir=/etc/rc.d/init.d
- elif [[ -f /etc/slackware-version ]]; then
- sysvdir=/etc/rc.d
- fi
+ local sysvdir famdir
+ [ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d || sysvdir=/etc/init.d
+ famdir=/etc/xinetd.d
local restore_nullglob=$(shopt -p nullglob); shopt -s nullglob
@@ -1841,8 +1838,7 @@ _completion_loader()
[[ $BASH_SOURCE == */* ]] && compdir="${BASH_SOURCE%/*}/completions"
# Special case for init.d scripts.
- if [[ $1 == /etc?(/rc.d)/init.d/* || \
- ( $1 == /etc/rc.d/* && -f /etc/slackware-version ) ]]; then
+ if [[ $1 == /etc?(/rc.d)/init.d/* ]]; then
. "$compdir/service" &>/dev/null && return 124 || return 1
fi
diff --git a/completions/service b/completions/service
index e359ef48..f008770e 100644
--- a/completions/service
+++ b/completions/service
@@ -15,12 +15,9 @@ _service()
if [[ $cword -eq 1 && $prev == ?(*/)service ]]; then
_services
else
- local sysvdir=/etc/init.d
- if [[ -d /etc/rc.d/init.d ]]; then
- sysvdir=/etc/rc.d/init.d
- elif [[ -f /etc/slackware-version ]]; then
- sysvdir=/etc/rc.d
- fi
+ local sysvdir
+ [ -d /etc/rc.d/init.d ] && \
+ sysvdir=/etc/rc.d/init.d || sysvdir=/etc/init.d
COMPREPLY=( $( compgen -W '`sed -e "y/|/ /" \
-ne "s/^.*\(U\|msg_u\)sage.*{\(.*\)}.*$/\2/p" \
$sysvdir/${prev##*/} 2>/dev/null` start stop' -- "$cur" ) )
@@ -29,14 +26,9 @@ _service()
return 0
} &&
complete -F _service service
-
-svcdirs=( /etc/init.d /etc/rc.d/init.d )
-[[ -f /etc/slackware-version ]] && svcdirs=( /etc/rc.d )
-for svcdir in ${svcdirs[@]}; do
- for svc in $svcdir/!($_backup_glob); do
- [ -x "$svc" ] && complete -F _service $svc
- done
+for svc in /etc/init.d/!($_backup_glob) /etc/rc.d/init.d/!($_backup_glob); do
+ [ -x "$svc" ] && complete -F _service $svc
done
-unset svc svcdir svcdirs
+unset svc
# ex: ts=4 sw=4 et filetype=sh