Split rmmod, insmod etc completion to contrib/module-init-tools.
This commit is contained in:
parent
0a0d73ff72
commit
734cdcdc1e
@ -82,6 +82,7 @@ bashcomp_DATA = contrib/abook \
|
|||||||
contrib/medusa \
|
contrib/medusa \
|
||||||
contrib/minicom \
|
contrib/minicom \
|
||||||
contrib/mkinitrd \
|
contrib/mkinitrd \
|
||||||
|
contrib/module-init-tools \
|
||||||
contrib/monodevelop \
|
contrib/monodevelop \
|
||||||
contrib/mount \
|
contrib/mount \
|
||||||
contrib/mplayer \
|
contrib/mplayer \
|
||||||
|
@ -980,7 +980,8 @@ _fstypes()
|
|||||||
# - stdout: Filename of command in PATH with possible symbolic links resolved.
|
# - stdout: Filename of command in PATH with possible symbolic links resolved.
|
||||||
# Empty string if command not found.
|
# Empty string if command not found.
|
||||||
# - return: True (0) if command found, False (> 0) if not.
|
# - return: True (0) if command found, False (> 0) if not.
|
||||||
_realcommand() {
|
_realcommand()
|
||||||
|
{
|
||||||
type -P "$1" > /dev/null && {
|
type -P "$1" > /dev/null && {
|
||||||
if type -p realpath > /dev/null; then
|
if type -p realpath > /dev/null; then
|
||||||
realpath "$(type -P "$1")"
|
realpath "$(type -P "$1")"
|
||||||
@ -1192,61 +1193,6 @@ _chgrp()
|
|||||||
complete -F _chgrp -o filenames chgrp
|
complete -F _chgrp -o filenames chgrp
|
||||||
|
|
||||||
|
|
||||||
# Linux rmmod(8) completion. This completes on a list of all currently
|
|
||||||
# installed kernel modules.
|
|
||||||
#
|
|
||||||
have rmmod && {
|
|
||||||
_rmmod()
|
|
||||||
{
|
|
||||||
local cur
|
|
||||||
|
|
||||||
COMPREPLY=()
|
|
||||||
cur=`_get_cword`
|
|
||||||
|
|
||||||
_installed_modules "$cur"
|
|
||||||
return 0
|
|
||||||
} # _rmmod()
|
|
||||||
complete -F _rmmod rmmod
|
|
||||||
|
|
||||||
|
|
||||||
# Linux insmod(8), modprobe(8) and modinfo(8) completion. This completes on a
|
|
||||||
# list of all available modules for the version of the kernel currently
|
|
||||||
# running.
|
|
||||||
#
|
|
||||||
_insmod()
|
|
||||||
{
|
|
||||||
local cur prev modpath
|
|
||||||
|
|
||||||
COMPREPLY=()
|
|
||||||
cur=`_get_cword`
|
|
||||||
prev=${COMP_WORDS[COMP_CWORD-1]}
|
|
||||||
|
|
||||||
# behave like lsmod for modprobe -r
|
|
||||||
if [[ ${1##*/} == modprobe && "${COMP_WORDS[1]}" == -r ]]; then
|
|
||||||
_installed_modules "$cur"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# do filename completion if we're giving a path to a module
|
|
||||||
if [[ "$cur" == */* ]]; then
|
|
||||||
_filedir '@(?(k)o?(.gz))'
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $COMP_CWORD -gt 1 && "${COMP_WORDS[COMP_CWORD-1]}" != -* ]]; then
|
|
||||||
# do module parameter completion
|
|
||||||
COMPREPLY=( $( compgen -W "$( /sbin/modinfo -p ${COMP_WORDS[1]} | \
|
|
||||||
cut -d: -f1 )" -- "$cur" ) )
|
|
||||||
else
|
|
||||||
_modules $(uname -r)
|
|
||||||
fi
|
|
||||||
|
|
||||||
return 0
|
|
||||||
} # _insmod
|
|
||||||
complete -F _insmod -o filenames insmod modprobe modinfo
|
|
||||||
} # have rmmod
|
|
||||||
|
|
||||||
|
|
||||||
# renice(8) completion
|
# renice(8) completion
|
||||||
#
|
#
|
||||||
_renice()
|
_renice()
|
||||||
|
62
contrib/module-init-tools
Normal file
62
contrib/module-init-tools
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
# bash completion for Linux module-init-tools
|
||||||
|
|
||||||
|
# Linux rmmod(8) completion. This completes on a list of all currently
|
||||||
|
# installed kernel modules.
|
||||||
|
#
|
||||||
|
have rmmod &&
|
||||||
|
_rmmod()
|
||||||
|
{
|
||||||
|
local cur
|
||||||
|
|
||||||
|
COMPREPLY=()
|
||||||
|
cur=`_get_cword`
|
||||||
|
|
||||||
|
_installed_modules "$cur"
|
||||||
|
return 0
|
||||||
|
} &&
|
||||||
|
complete -F _rmmod rmmod
|
||||||
|
|
||||||
|
# Linux insmod(8), modprobe(8) and modinfo(8) completion. This completes on a
|
||||||
|
# list of all available modules for the version of the kernel currently
|
||||||
|
# running.
|
||||||
|
#
|
||||||
|
have insmod || have modprobe || have modinfo &&
|
||||||
|
_insmod()
|
||||||
|
{
|
||||||
|
local cur prev modpath
|
||||||
|
|
||||||
|
COMPREPLY=()
|
||||||
|
cur=`_get_cword`
|
||||||
|
prev=${COMP_WORDS[COMP_CWORD-1]}
|
||||||
|
|
||||||
|
# behave like lsmod for modprobe -r
|
||||||
|
if [[ ${1##*/} == modprobe && "${COMP_WORDS[1]}" == -r ]]; then
|
||||||
|
_installed_modules "$cur"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# do filename completion if we're giving a path to a module
|
||||||
|
if [[ "$cur" == */* ]]; then
|
||||||
|
_filedir '@(?(k)o?(.gz))'
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $COMP_CWORD -gt 1 && "${COMP_WORDS[COMP_CWORD-1]}" != -* ]]; then
|
||||||
|
# do module parameter completion
|
||||||
|
COMPREPLY=( $( compgen -W "$( /sbin/modinfo -p ${COMP_WORDS[1]} | \
|
||||||
|
cut -d: -f1 )" -- "$cur" ) )
|
||||||
|
else
|
||||||
|
_modules $(uname -r)
|
||||||
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
|
} &&
|
||||||
|
complete -F _insmod -o filenames insmod modprobe modinfo
|
||||||
|
|
||||||
|
# Local variables:
|
||||||
|
# mode: shell-script
|
||||||
|
# sh-basic-offset: 4
|
||||||
|
# sh-indent-comment: t
|
||||||
|
# indent-tabs-mode: nil
|
||||||
|
# End:
|
||||||
|
# ex: ts=4 sw=4 et filetype=sh
|
Loading…
x
Reference in New Issue
Block a user