{ ... }: { text = '' # Encrypt files to myself. # Usage: encrypt function encrypt() { local IFS=$'\n' local targets=(''${@}) if [[ "''${targets}" = "" ]]; then help encrypt return 2 fi process() { gpg --encrypt --armor --recipient hi@voronind.com --output "''${target}.gpg" "''${target}" } _iterate_targets process ''${targets[@]} } # Decrypt files to myself. # Usage: decrypt [FILES] function decrypt() { local IFS=$'\n' local targets=(''${@}) [[ "''${targets}" = "" ]] && targets=(*.gpg) process() { gpg --decrypt --output "''${target%.gpg}" "''${target}" } _iterate_targets process ''${targets[@]} } # Sign a file. # Usage: sign function sign() { local IFS=$'\n' local targets=(''${@}) if [[ "''${targets}" = "" ]]; then help sign return 2 fi process() { gpg --detach-sig --armor --output "''${target}.sig" "''${target}" } _iterate_targets process ''${targets[@]} } # Verify a signature. All .sig files by default. # Usage: verify [FILES] function verify() { local IFS=$'\n' local targets=(''${@}) [[ "''${targets}" = "" ]] && targets=(*.sig) process() { gpg --verify "''${target}" } _iterate_targets process ''${targets[@]} } ''; }