37 lines
1.2 KiB
Diff
37 lines
1.2 KiB
Diff
|
|
||
|
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
|