diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 00:31:20 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 00:31:20 +0000 |
commit | 82ff52e0800702dee9402f8efe13dbc02e5883d2 (patch) | |
tree | 2f1704ba1a30bffc1f66bf5fb51c48431c24f6fa /debian/bash_completion/cryptdisks | |
parent | Adding upstream version 2:2.1.0. (diff) | |
download | cryptsetup-debian/2%2.1.0-5+deb10u2.tar.xz cryptsetup-debian/2%2.1.0-5+deb10u2.zip |
Adding debian version 2:2.1.0-5+deb10u2.debian/2%2.1.0-5+deb10u2debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/bash_completion/cryptdisks')
-rw-r--r-- | debian/bash_completion/cryptdisks | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/debian/bash_completion/cryptdisks b/debian/bash_completion/cryptdisks new file mode 100644 index 0000000..8cfac76 --- /dev/null +++ b/debian/bash_completion/cryptdisks @@ -0,0 +1,42 @@ +# cryptdisks_{start,stop} completion by first column of crypttab +# +# Copyright 2013 Claudius Hubig <cl_crds@chubig.net>, 2-clause BSD + +_cryptdisks() { + local action="$1" t + for t in $( mawk -vt="${COMP_WORDS[COMP_CWORD]}" \ + '($1 !~ /^#/ && index($1,t) == 1) {print $1}' \ + "${TABFILE-"/etc/crypttab"}" ); do + if [ "$action" = start -a ! -e "/dev/mapper/$t" ] || + [ "$action" = stop -a -e "/dev/mapper/$t" ]; then + COMPREPLY+=( "$t" ) + fi + done + return 0; +} + +_cryptdisks_start() { + local i include_options=y + COMPREPLY=() + for (( i=0; i < COMP_CWORD-1; i++ )); do + if [ "${COMP_WORDS[i]}" = "--" ] || [[ "${COMP_WORDS[i]}" != -* ]]; then + include_options=n + break + fi + done + if [ "$include_options" = "y" ]; then + for i in "-r" "--readonly" "--"; do + if [[ "$i" == "${COMP_WORDS[COMP_CWORD]}"* ]]; then + COMPREPLY+=( "$i" ) + fi + done + fi + _cryptdisks start "$@" +} +_cryptdisks_stop() { + COMPREPLY=() + _cryptdisks stop "$@"; +} + +complete -F _cryptdisks_start cryptdisks_start +complete -F _cryptdisks_stop cryptdisks_stop |