diff options
author | Bernhard Voelker <mail@bernhard-voelker.de> | 2013-04-10 11:36:21 +0200 |
---|---|---|
committer | Karel Zak <kzak@redhat.com> | 2013-04-10 14:35:49 +0200 |
commit | 741fce3471fb3be26806cd3c2f1593a001a07c5c (patch) | |
tree | 3f3de63dfe78ba6fe0aa188b4c7d57a765320438 /bash-completion | |
parent | 1461094c142d4dbb6e4f6f477d763c498cb5ee19 (diff) | |
download | util-linux-741fce3471fb3be26806cd3c2f1593a001a07c5c.tar.gz |
bash-completion: add swapoff
[kzak@redhat.com: remove short options]
Signed-off-by: Bernhard Voelker <mail@bernhard-voelker.de>
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'bash-completion')
-rw-r--r-- | bash-completion/swapoff | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/bash-completion/swapoff b/bash-completion/swapoff new file mode 100644 index 00000000..60d85724 --- /dev/null +++ b/bash-completion/swapoff @@ -0,0 +1,54 @@ +_swapoff_module() +{ + local cur prev OPTS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-a'|'--all') + 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) ) + 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) ) + return 0 + ;; + '-h'|'--help'|'-V'|'--version') + return 0 + ;; + esac + case $cur in + -*) + OPTS="-L + -U + --all + --verbose + --help + --version" + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + return 0 + ;; + esac + local DEVS + DEVS="$(swapon --show=NAME --raw --noheading)" + COMPREPLY=( $(compgen -W "$DEVS" -- $cur) ) + return 0 +} +complete -F _swapoff_module swapoff |