File bash-completion-fix-service.patch of Package bash-completion
m 1f8b55a92aba6d03bb4c43dade1f8b2e2b847b61 Mon Sep 17 00:00:00 2001
From: David Paleino <dapal@debian.org>
Date: Thu, 17 Jun 2010 17:43:18 +0200
Subject: [PATCH] Fixed "service" completion, thanks to John Hedges (Debian: #586210)
The patch makes it safe even when every file in /etc/init.d/*
has a proper completion (unlikely, but seems like it happened).
Thanks to John Hedges <john@drystone.co.uk> for the patch, slightly
modified to make it more compact.
---
CHANGES | 2 +-
contrib/service | 7 ++++---
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/contrib/service b/contrib/service
index 9ebd117..f27222a 100644
--- a/contrib/service
+++ b/contrib/service
@@ -32,9 +32,10 @@ _service()
return 0
} &&
complete -F _service service
-[ -d /etc/init.d/ ] && complete -F _service -o default \
- $(for i in /etc/init.d/*; do
- complete -p ${i##*/} &>/dev/null || printf '%s\n' ${i##*/}; done)
+[ -d /etc/init.d/ ] && (
+ services=$(for i in /etc/init.d/*; do
+ complete -p ${i##*/} &>/dev/null || printf '%s\n' ${i##*/}; done)
+ [ -n "$services" ] && complete -F _service -o default $services;)
# Local variables:
# mode: shell-script
--
1.7.1