# mtx completion -*- shell-script -*- # by Jon Middleton _mtx() { local cur prev words cword _init_completion || return local options tapes drives options="-f nobarcode invert noattach --version inquiry noattach \ inventory status load unload eepos first last next" tapes=$(mtx status 2>/dev/null | \ awk '/Storage Element [0-9]+:Full/ { printf "%s ", $3 }') tapes=${tapes//:Full} drives=$(mtx status 2>/dev/null | \ awk '/Data Transfer Element [0-9]+:(Full|Empty)/ { printf "%s ", $4 }') drives=${drives//:Full} drives=${drives//:Empty} if [[ $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 # ex: ts=4 sw=4 et filetype=sh