/bash_completion_lib/complete/smartctl
http://github.com/brinkman83/bashrc · #! · 194 lines · 182 code · 12 blank · 0 comment · 0 complexity · c46e614f836e18deac6f0756c06a51ae MD5 · raw file
- # smartctl(8) completion
- comp_include _filedir _get_cword
- _smartctl_quietmode()
- {
- COMPREPLY=( $( compgen -W 'errorsonly silent' -- $cur ) )
- }
- _smartctl_device()
- {
- COMPREPLY=( $( compgen -W 'ata scsi 3ware' -- $cur ) )
- }
- _smartctl_tolerance()
- {
- COMPREPLY=( $( compgen -W 'warn exit ignore' -- $cur ) )
- }
- _smartctl_badsum()
- {
- COMPREPLY=( $( compgen -W 'normal conservative permissive verypermissive' -- $cur ) )
- }
- _smartctl_report()
- {
- COMPREPLY=( $( compgen -W 'ioctl ataioctl scsiioctl' -- $cur ) )
- }
- _smartctl_feature()
- {
- COMPREPLY=( $( compgen -W 'on off' -- $cur ) )
- }
- _smartctl_log()
- {
- COMPREPLY=( $( compgen -W 'error selftest selective directory' -- $cur ) )
- }
- _smartctl_vendorattribute()
- {
- COMPREPLY=( $( compgen -W 'help 9,minutes 9,seconds 9,halfminutes \
- 9,temp 192,emergencyretractcyclect 193,loadunload \
- 194,10xCelsius 194,unknown 198,offlinescanuncsectorct \
- 200,writeerrorcount 201,detectedtacount 220,temp' -- $cur ) )
- }
- _smartctl_firmwarebug()
- {
- COMPREPLY=( $( compgen -W 'none samsung samsung2' -- $cur ) )
- }
- _smartctl_presets()
- {
- COMPREPLY=( $( compgen -W 'use ignore show showall' -- $cur ) )
- }
- _smartctl_test()
- {
- COMPREPLY=( $( compgen -W 'offline short long conveyance select afterselect,on afterselect,off pending' -- $cur ) )
- }
- _smartctl()
- {
- local cur prev
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
- # --name value style option
- case "$prev" in
- -q)
- _smartctl_quietmode
- ;;
- -d)
- _smartctl_device
- return 0
- ;;
- -t)
- _smartctl_tolerance
- return 0
- ;;
- -b)
- _smartctl_badsum
- return 0
- ;;
- -r)
- _smartctl_report
- return 0
- ;;
- -s)
- _smartctl_feature
- return 0
- ;;
- -o)
- _smartctl_feature
- return 0
- ;;
- -S)
- _smartctl_feature
- return 0
- ;;
- -l)
- _smartctl_log
- return 0
- ;;
- -v)
- _smartctl_vendorattribute
- return 0
- ;;
- -F)
- _smartctl_firmwarebug
- return 0
- ;;
- -P)
- _smartctl_presets
- return 0
- ;;
- -t)
- _smartctl_test
- return 0
- ;;
- esac
- # --name=value style option
- if [[ "$cur" == *=* ]]; then
- prev=${cur/=*/}
- cur=${cur/*=/}
- case "$prev" in
- --quietmode)
- _smartctl_quietmode
- return 0
- ;;
- --device)
- _smartctl_device
- return 0
- ;;
- --tolerance)
- _smartctl_tolerance
- return 0
- ;;
- --badsum)
- _smartctl_badsum
- return 0
- ;;
- --report)
- _smartctl_report
- return 0
- ;;
- --smart)
- _smartctl_feature
- return 0
- ;;
- --offlineauto)
- _smartctl_feature
- return 0
- ;;
- --saveauto)
- _smartctl_feature
- return 0
- ;;
- --log)
- _smartctl_log
- return 0
- ;;
- --vendorattribute)
- _smartctl_vendorattribute
- return 0
- ;;
- --firmwarebug)
- _smartctl_firmwarebug
- return 0
- ;;
- --presets)
- _smartctl_presets
- return 0
- ;;
- --test)
- _smartctl_test
- return 0
- ;;
- esac
- fi
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-h --help --usage -V --version \
- --copyright --license-i --info -a --all -q \
- --quietmode= -d --device= -T --tolerance= -b --badsum= \
- -r --report= -s --smart= -o --offlineauto= -S \
- --saveauto= -H --health -c --capabilities -A \
- --attributes -l --log= -v --vendorattribute= -F \
- --firmwarebug= -P --presets= -t --test= -C \
- --captive -X --abort' -- $cur ) )
- else
- cur=${cur:=/dev/}
- _filedir
- fi
- } # _smartctl()