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