bash-completion: use swapon label and uuid listing support
Simplifies the script, and makes swapoff to work for files when get requests by label or uuid. Signed-off-by: Sami Kerola <kerolasa@iki.fi>
This commit is contained in:
parent
53154dae39
commit
e3da3b39b5
|
@ -9,25 +9,11 @@ _swapoff_module()
|
|||
return 0
|
||||
;;
|
||||
'-U'|'UUID=')
|
||||
# only works for block devices, i.e., not for swap files.
|
||||
local SWAPS
|
||||
SWAPS="$(swapon --show=TYPE,NAME --raw --noheading | \
|
||||
awk '$1 !~ /file/ { print $2 }')"
|
||||
[ -z "$SWAPS" ] && return 0
|
||||
local UUIDS
|
||||
UUIDS="$(lsblk -nrp -o UUID "$SWAPS")"
|
||||
COMPREPLY=( $(compgen -W "$UUIDS" -- $cur) )
|
||||
COMPREPLY=( $(compgen -W "$(swapon --show=UUID --noheading)" -- $cur) )
|
||||
return 0
|
||||
;;
|
||||
'-L'|'LABEL=')
|
||||
# only works for block devices, i.e., not for swap files.
|
||||
local SWAPS
|
||||
SWAPS="$(swapon --show=TYPE,NAME --raw --noheading | \
|
||||
awk '$1 !~ /file/ { print $2 }')"
|
||||
[ -z "$SWAPS" ] && return 0
|
||||
local LABELS
|
||||
LABELS="$(lsblk -nrp -o LABEL "$SWAPS")"
|
||||
COMPREPLY=( $(compgen -W "$LABELS" -- $cur) )
|
||||
COMPREPLY=( $(compgen -W "$(swapon --show=LABEL --noheading)" -- $cur) )
|
||||
return 0
|
||||
;;
|
||||
'-h'|'--help'|'-V'|'--version')
|
||||
|
@ -46,9 +32,7 @@ _swapoff_module()
|
|||
return 0
|
||||
;;
|
||||
esac
|
||||
local DEVS
|
||||
DEVS="$(swapon --show=NAME --raw --noheading)"
|
||||
COMPREPLY=( $(compgen -W "$DEVS" -- $cur) )
|
||||
COMPREPLY=( $(compgen -W "$(swapon --show=NAME --raw --noheading)" -- $cur) )
|
||||
return 0
|
||||
}
|
||||
complete -F _swapoff_module swapoff
|
||||
|
|
|
@ -14,7 +14,7 @@ _swapon_module()
|
|||
'--show')
|
||||
# FIXME: how to append to a string with compgen?
|
||||
local OUTPUT
|
||||
OUTPUT="NAME TYPE SIZE USED PRIO"
|
||||
OUTPUT="NAME TYPE SIZE USED PRIO UUID LABEL"
|
||||
compopt -o nospace
|
||||
COMPREPLY=( $(compgen -W "$OUTPUT" -S ',' -- $cur) )
|
||||
return 0
|
||||
|
|
Loading…
Reference in New Issue