# 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