[Bash-completion-devel] Bug#497540: bash-completion: killall completion uses command with arguments instead of command name

Fabian Bieler der.fabe at gmx.net
Tue Sep 2 12:50:11 UTC 2008


Package: bash-completion
Severity: normal
Tags: patch

killall expects only the command name without arguments or path of the process to kill, e.g. if you want to kill the process with the command line "/usr/bin/dbus-daemon --system", you would have to do "killall dbus-daemon". However, bash_completion for killall tries to find matches using the complete command line.

The following patch addresses this issue by using "ps axo comm" instead of "ps axo command".

diff -u bash-completion.orig/bash_completion bash-completion/bash_completion
--- bash-completion.orig/bash_completion        2008-07-05 15:55:03.000000000 +0200
+++ bash-completion/bash_completion     2008-09-02 14:31:25.000000000 +0200
@@ -947,7 +947,7 @@
 	if [ $COMP_CWORD -eq 1 ] && [[ "$cur" == -* ]]; then
 		_signals
 	else
-		COMPREPLY=( $( compgen -W '$( command ps axo command | \
+		COMPREPLY=( $( compgen -W '$( command ps axo comm | \
 			      sed -ne "1d; s/^\[\?\([^-][^] ]*\).*$/\1/p" | \
 			      sed -e "s/.*\///" )' -- $cur ) )
 	fi

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.26.3 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash






More information about the Bash-completion-devel mailing list