unsupported $ˆl–Ü4ý(&ÔËm � ÆŸ¸ÓêbÑ¿Ê „ í8ÿÉ¿Ç?÷# bash completion for lvm -*- shell-script -*- _lvm_filedir() { cur=${cur:-/dev/} _filedir } _lvm_volumegroups() { COMPREPLY=($(compgen -W "$(vgscan 2>/dev/null | command sed -n -e 's|.*Found.*"\(.*\)".*$|\1|p')" -- "$cur")) } _lvm_physicalvolumes_all() { COMPREPLY=($(compgen -W "$(pvscan 2>/dev/null | command sed -n -e 's|^.*PV \([^ ]*\) .*|\1|p')" -- "$cur")) } _lvm_physicalvolumes() { COMPREPLY=($(compgen -W "$(pvscan 2>/dev/null | command sed -n -e 's|^.*PV \(.*\) VG.*$|\1|p')" -- "$cur")) } _lvm_logicalvolumes() { COMPREPLY=($(compgen -W "$(lvscan 2>/dev/null | command sed -n -e "s|^.*'\(.*\)'.*$|\1|p")" -- "$cur")) if [[ $cur == /dev/mapper/* ]]; then _filedir local i for i in "${!COMPREPLY[@]}"; do [[ ${COMPREPLY[i]} == */control ]] && unset 'COMPREPLY[i]' done fi } _lvm_units() { COMPREPLY=($(compgen -W 'h s b k m g t H K M G T' -- "$cur")) } _lvm_sizes() { COMPREPLY=($(compgen -W 'k K m M g G t T' -- "$cur")) } # @param $1 glob matching args known to take an argument _lvm_count_args() { args=0 local offset=1 if [[ ${words[0]} == lvm ]]; then offset=2 fi local i prev=${words[offset - 1]} for ((i = offset; i < cword; i++)); do # shellcheck disable=SC2053 if [[ ${words[i]} != -* && $prev != $1 ]]; then ((args++)) fi prev=${words[i]} done } _lvmdiskscan() { local cur prev words cword _init_completion || return if [[ $cur == -* ]]; then COMPREPLY=($(compgen -W '$(_parse_usage "$1" --help)' -- "$cur")) fi } && complete -F _lvmdiskscan lvmdiskscan _pvscan() { local cur prev words cword _init_completion || return if [[ $cur == -* ]]; then COMPREPLY=($(compgen -W '$(_parse_usage "$1" --help)' -- "$cur")) fi } && complete -F _pvscan pvscan _pvs() { local cur prev words cword _init_completion || return case $prev in --options | --sort | -!(-*)[oO]) COMPREPLY=($(compgen -W 'pv_fmt pv_uuid pv_size pv_free pv_used pv_name pv_attr pv_pe_count pv_pe_alloc_count' -- "$cur")) return ;; --units) _lvm_units return ;; esac if [[ $cur == -* ]]; then COMPREPLY=($(compgen -W '$(_parse_usage "$1" --help)' -- "$cur")) else _lvm_physicalvolumes_all fi } && complete -F _pvs pvs _pvdisplay() { local cur prev words cword _init_completion || return case $prev in --units) _lvm_units return ;; esac if [[ $cur == -* ]]; then COMPREPLY=($(compgen -W '$(_parse_usage "$1" --help)' -- "$cur")) else _lvm_physicalvolumes_all fi } && complete -F _pvdisplay pvdisplay _pvchange() { local cur prev words cword _init_completion || return case $prev in --autobackup | --allocatable | -!(-*)[Ax]) COMPREPLY=($(compgen -W 'y n' -- "$cur")) return ;; esac if [[ $cur == -* ]]; then COMPREPLY=($(compgen -W '$(_parse_usage "$1" --help)' -- "$cur")) else _lvm_physicalvolumes_all fi } && complete -F _pvchange pvchange _pvcreate() { local cur prev words cword _init_completion || return case $prev in --restorefile) _filedir return ;; --metadatatype | -!(-*)M) COMPREPLY=($(compgen -W '1 2' -- "$cur")) return ;; --metadatacopies) COMPREPLY=($(compgen -W '0 1 2' -- "$cur")) return ;; --metadatasize | --setphysicalvolumesize) _lvm_sizes return ;; esac if [[ $cur == -* ]]; then COMPREPLY=($(compgen -W '$(_parse_usage "$1" --help)' -- "$cur")) else _lvm_filedir f