# iscsiadm(1) completion -*- shell-script -*- _iscsiadm() { local cur prev words cword split _init_completion -s || return case $prev in -m|--mode) COMPREPLY=( $( compgen -W 'discovery node session iface fw host' \ -- "$cur" ) ) return 0 ;; -o|--op) COMPREPLY=( $( compgen -W 'new delete update show' -- "$cur" ) ) return 0 ;; -t|--type) COMPREPLY=( $( compgen -W 'sendtargets st slp isns fw' -- "$cur" ) ) return 0 ;; -L|-U|--loginall|--logoutall) COMPREPLY=( $( compgen -W 'all manual automatic' -- "$cur" ) ) return 0 ;; esac $split && return 0 local options if [[ $cword -gt 1 ]] ; then case ${words[2]} in discovery) options='--help --version --debug --print --interface --type \ --portal --login --op --name --value' ;; node) options='--help --version --debug --print --loginall \ --logoutall--show -T --portal --interface --login \ --logout --rescan --stats --op --name --value' ;; session) options='--help --version --debug --print --sid --logout \ --rescan --stats' ;; iface) options='--help --version --debug --print --interface --op \ --name --value' ;; fw) options='--login' ;; host) options='--print -H' ;; esac else options='--mode' fi COMPREPLY=( $( compgen -W "$options" -- "$cur" ) ) } && complete -F _iscsiadm iscsiadm # ex: ts=4 sw=4 et filetype=sh