# iscsiadm(1) completion -*- shell-script -*- _iscsiadm() { local cur prev words cword split _init_completion -s || return case $prev in --mode | -!(-*)m) COMPREPLY=($(compgen -W 'discovery node session iface fw host' \ -- "$cur")) return ;; --op | -!(-*)o) COMPREPLY=($(compgen -W 'new delete update show' -- "$cur")) return ;; --type | -!(-*)t) COMPREPLY=($(compgen -W 'sendtargets st slp isns fw' -- "$cur")) return ;; --loginall | --logoutall | -!(-*)[LU]) COMPREPLY=($(compgen -W 'all manual automatic' -- "$cur")) return ;; esac $split && return local options if ((cword > 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: filetype=sh