Theo Chatzimichos c336cc
#!/bin/bash
Theo Chatzimichos c336cc
aae493
set -Cef
06c500
Theo Chatzimichos c336cc
help() {
Theo Chatzimichos c336cc
    echo "Encrypt a given string and print out the output. This output can be"
Theo Chatzimichos c336cc
    echo "then used as encrypted pillar"
Theo Chatzimichos c336cc
    echo
Theo Chatzimichos 097450
    echo "Options:"
Theo Chatzimichos 097450
    echo "-m        Pass multiline input, end with CTRL+D when done"
Theo Chatzimichos 097450
    echo
Theo Chatzimichos c336cc
}
Theo Chatzimichos c336cc
aae493
[[ "$1" == '--help' ]] && help && exit
aae493
aae493
set -u
aae493
MULTILINE=0
Theo Chatzimichos c336cc
Theo Chatzimichos 097450
while getopts mh arg; do
Theo Chatzimichos c336cc
    case ${arg} in
Theo Chatzimichos 097450
        m) MULTILINE=1 ;;
Theo Chatzimichos c336cc
        h) help && exit ;;
Theo Chatzimichos c336cc
        *) help && exit 1 ;;
Theo Chatzimichos c336cc
    esac
Theo Chatzimichos c336cc
done
Theo Chatzimichos c336cc
aae493
if [[ "$MULTILINE" = 1 ]]; then
aae493
    [ -t 0 ] && echo "Please type the lines that you want to encrypt, and press CTRL+D when done:" >/dev/stderr
Theo Chatzimichos 097450
    STRING=$(cat)
Theo Chatzimichos 097450
else
aae493
    [ -t 0 ] && echo "Please type the string that you want to encrypt:" >/dev/stderr
Theo Chatzimichos 097450
    read STRING
Theo Chatzimichos 097450
fi
Theo Chatzimichos 9a0754
37f740
[[ -z $STRING ]] && echo "ERROR: Input was empty" >/dev/stderr && exit 1
Theo Chatzimichos c336cc
06c500
RECIPIENTS=( $(grep -E '^\s*0x' encrypted_pillar_recipients | while read i; do echo "-r $i"; done | xargs) )
06c500
echo -n "${STRING}" | gpg --armor --batch --trust-model always --encrypt "${RECIPIENTS[@]}"