From 3f49cf9339261118e9dafd82a3a4ed0a1c8ed337 Mon Sep 17 00:00:00 2001 From: ianmacd <> Date: Wed, 31 Dec 2003 23:54:41 +0000 Subject: [PATCH] - mtx completion by Jon Middleton --- contrib/mtx | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 contrib/mtx diff --git a/contrib/mtx b/contrib/mtx new file mode 100644 index 00000000..22b855d6 --- /dev/null +++ b/contrib/mtx @@ -0,0 +1,45 @@ +# mtx completion by Jon Middleton +# +# $Id: mtx,v 1.1 2004/01/01 00:54:41 ianmacd Exp $ + +_mtx() +{ + local cur prev options tapes drives + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + options="-f nobarcode invert noattach --version inquiry noattach \ + inventory status load unload eepos first last next" + + tapes=$(mtx status | \ + awk '/Storage Element [0-9]+:Full/ { printf "%s ", $3 }') + tapes=${tapes//:Full} + + drives=$(mtx status | \ + awk '/Data Transfer Element [0-9]+:(Full|Empty)/ { printf "%s ", $4 }') + drives=${drives//:Full} + drives=${drives//:Empty} + + if [ $COMP_CWORD -gt 1 ]; then + case $prev in + load) + COMPREPLY=( $( compgen -W "$tapes" -- $cur ) ) + ;; + unload|first|last|next) + COMPREPLY=( $( compgen -W "$drives" -- $cur ) ) + ;; + -f) + true + ;; + *) + true + ;; + esac + else + COMPREPLY=( $( compgen -W "$options" -- $cur ) ) + fi + return 0 +} +complete -F _mtx mtx