mirror of
https://github.com/iustin/mt-st.git
synced 2025-12-23 05:45:13 +00:00
48 lines
1.5 KiB
Plaintext
48 lines
1.5 KiB
Plaintext
#mt bash completion by Paweł Marciniak <sunwire<at>gmail.com>
|
|
#
|
|
|
|
_mt () {
|
|
local cur prev words cword
|
|
_init_completion || return
|
|
|
|
#possible commands
|
|
commands="weof wset eof fsf fsfm bsf bsfm fsr bsr fss bss rewind offline rewoffl eject retension eod seod seek tell status erase setblk lock unlock load compression setdensity drvbuffer stwrthreshold stoptions stsetoptions stclearoptions defblksize defdensity defdrvbuffer defcompression stsetcln sttimeout stlongtimeout densities setpartition mkpartition partseek asf stshowoptions"
|
|
stoptions="buffer-writes async-writes read-ahead debug two-fms fast-eod no-wait weof-no-wait auto-lock def-writes can-bsr no-blklimits can-partitions scsi2logical sili sysv"
|
|
|
|
COMPREPLY=()
|
|
|
|
case $prev in
|
|
-v | --version)
|
|
return
|
|
;;
|
|
-f )
|
|
#list tape devices
|
|
for tape in /sys/class/scsi_tape/*;
|
|
do devs+="/dev/${tape##*/} ";
|
|
done;
|
|
COMPREPLY=($(compgen -W "$devs" -- "$cur"))
|
|
return
|
|
;;
|
|
stsetoptions)
|
|
# show list of stoptions
|
|
COMPREPLY=($(compgen -W "$stoptions" -- "$cur"))
|
|
return
|
|
;;
|
|
esac
|
|
|
|
# if "$prev" is a substring of "$stoptions" show more "$stoptions"
|
|
if [[ "$stoptions" == *"$prev"* ]]; then
|
|
COMPREPLY=($(compgen -W "$stoptions" -- "$cur"))
|
|
return
|
|
fi
|
|
|
|
if [[ $cur == -* ]]; then
|
|
COMPREPLY=($(compgen -W '-f -v' -- "$cur"))
|
|
return
|
|
fi
|
|
|
|
COMPREPLY=($(compgen -W "$commands" -- "$cur"))
|
|
|
|
}
|
|
complete -F _mt mt
|