%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
# 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 $( awk -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