# mtx completion by Jon Middleton # # $Id: bash_completion,v 1.1 2004-02-15 05:43:25 bdale 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