summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am1
-rw-r--r--bash_completion58
-rw-r--r--contrib/module-init-tools62
3 files changed, 65 insertions, 56 deletions
diff --git a/Makefile.am b/Makefile.am
index a5e58a62..bd9284a9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -82,6 +82,7 @@ bashcomp_DATA = contrib/abook \
contrib/medusa \
contrib/minicom \
contrib/mkinitrd \
+ contrib/module-init-tools \
contrib/monodevelop \
contrib/mount \
contrib/mplayer \
diff --git a/bash_completion b/bash_completion
index 5967ba87..a8973eff 100644
--- a/bash_completion
+++ b/bash_completion
@@ -980,7 +980,8 @@ _fstypes()
# - stdout: Filename of command in PATH with possible symbolic links resolved.
# Empty string if command not found.
# - return: True (0) if command found, False (> 0) if not.
-_realcommand() {
+_realcommand()
+{
type -P "$1" > /dev/null && {
if type -p realpath > /dev/null; then
realpath "$(type -P "$1")"
@@ -1192,61 +1193,6 @@ _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()
diff --git a/contrib/module-init-tools b/contrib/module-init-tools
new file mode 100644
index 00000000..5a8994e8
--- /dev/null
+++ b/contrib/module-init-tools
@@ -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