pgrep, pkill, killall: Base pkill on pgrep, add more option completions.

master
Ville Skyttä 2011-12-27 21:52:58 +02:00
parent 5fcaad8756
commit 59a8a9c41b
4 changed files with 30 additions and 18 deletions

View File

@ -643,10 +643,6 @@ symlinks:
rm -f $(targetdir)/$$file && \ rm -f $(targetdir)/$$file && \
$(LN_S) java $(targetdir)/$$file ; \ $(LN_S) java $(targetdir)/$$file ; \
done done
for file in pkill ; do \
rm -f $(targetdir)/$$file && \
$(LN_S) killall $(targetdir)/$$file ; \
done
for file in arm-koji ppc-koji s390-koji sparc-koji ; do \ for file in arm-koji ppc-koji s390-koji sparc-koji ; do \
rm -f $(targetdir)/$$file && \ rm -f $(targetdir)/$$file && \
$(LN_S) koji $(targetdir)/$$file ; \ $(LN_S) koji $(targetdir)/$$file ; \
@ -713,6 +709,10 @@ symlinks:
rm -f $(targetdir)/$$file && \ rm -f $(targetdir)/$$file && \
$(LN_S) pkg_delete $(targetdir)/$$file ; \ $(LN_S) pkg_delete $(targetdir)/$$file ; \
done done
for file in pkill ; do \
rm -f $(targetdir)/$$file && \
$(LN_S) pgrep $(targetdir)/$$file ; \
done
for file in pm-suspend pm-suspend-hybrid ; do \ for file in pm-suspend pm-suspend-hybrid ; do \
rm -f $(targetdir)/$$file && \ rm -f $(targetdir)/$$file && \
$(LN_S) pm-hibernate $(targetdir)/$$file ; \ $(LN_S) pm-hibernate $(targetdir)/$$file ; \

View File

@ -1,4 +1,6 @@
# killall(1) and pkill(1) completion -*- shell-script -*- # killall(1) completion -*- shell-script -*-
[[ $OSTYPE == *@(linux|freebsd|darwin)* ]] || return 1
_killall() _killall()
{ {
@ -10,7 +12,7 @@ _killall()
return return
;; ;;
-s|--signal) -s|--signal)
[[ $1 == *killall ]] && _signals _signals
return return
;; ;;
-u|--user) -u|--user)
@ -21,15 +23,14 @@ _killall()
$split && return $split && return
if [[ $cword -eq 1 && "$cur" == -* ]]; then if [[ $cur == -* ]]; then
_signals - COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) )
else [[ $cword -eq 1 ]] && _signals -
_pnames return
fi fi
return 0 _pnames
} && } &&
complete -F _killall pkill complete -F _killall killall
[[ $OSTYPE == *@(linux|freebsd|darwin)* ]] && complete -F _killall killall || :
# ex: ts=4 sw=4 et filetype=sh # ex: ts=4 sw=4 et filetype=sh

View File

@ -1,4 +1,4 @@
# pgrep(1) completion -*- shell-script -*- # pgrep(1) and pkill(1) completion -*- shell-script -*-
_pgrep() _pgrep()
{ {
@ -6,13 +6,21 @@ _pgrep()
_init_completion || return _init_completion || return
case $prev in case $prev in
-d|-g|-s|-t) -c|-d|-g|-J|-M|-N|-s|-t|-T|-z)
return
;;
-F)
_filedir
return return
;; ;;
-G) -G)
_gids _gids
return return
;; ;;
-j)
COMPREPLY=( $( compgen -W 'any none' -- "$cur" ) )
return
;;
-P) -P)
_pids _pids
return return
@ -24,12 +32,15 @@ _pgrep()
esac esac
if [[ $cur == -* ]]; then if [[ $cur == -* ]]; then
COMPREPLY=( $( compgen -W '$( _parse_usage "$1" )' -- "$cur" ) ) COMPREPLY=( $( compgen -W '$( "$1" --usage 2>&1 |
sed -e "s/\[-signal\]//" -e "s/\[-SIGNAL\]//" |
_parse_usage - )' -- "$cur" ) )
[[ $cword -eq 1 && $1 == *pkill ]] && _signals -
return return
fi fi
_pnames _pnames
} && } &&
complete -F _pgrep pgrep complete -F _pgrep pgrep pkill
# ex: ts=4 sw=4 et filetype=sh # ex: ts=4 sw=4 et filetype=sh

View File

@ -17,7 +17,7 @@ assert_complete_any "killall "
sync_after_int sync_after_int
assert_complete [get_signals -] "killall -" assert_complete [get_signals] "killall --signal "
sync_after_int sync_after_int