This makes the beginning of all files the same and a little simpler.
`${0%/*}` turns "/home/user/repository/bin/blackbox_edit" into
"/home/user/repository/bin", exactly like basename but without eating a
process.
Because other scripts needed `$blackbox_home` I made this into a
standardard variable that's always available.
This also loads _stack_lib.sh always because _blackbox_common.sh
requires it.
28 lines
703 B
Bash
Executable File
28 lines
703 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
#
|
|
# blackbox_edit_start -- Decrypt a file for editing.
|
|
#
|
|
|
|
set -e
|
|
source "${0%/*}/_blackbox_common.sh"
|
|
|
|
for param in "$@" ; do
|
|
unencrypted_file=$(get_unencrypted_filename "$param")
|
|
encrypted_file=$(get_encrypted_filename "$param")
|
|
echo >&2 ========== PLAINFILE '"'$unencrypted_file'"'
|
|
|
|
fail_if_not_on_cryptlist "$unencrypted_file"
|
|
fail_if_not_exists "$encrypted_file" "This should not happen."
|
|
if [[ ! -s "$unencrypted_file" ]]; then
|
|
rm -f "$unencrypted_file"
|
|
fi
|
|
if [[ -f "$unencrypted_file" ]]; then
|
|
echo >&2 SKIPPING: "$1" "Will not overwrite non-empty files."
|
|
continue
|
|
fi
|
|
|
|
prepare_keychain
|
|
decrypt_file "$encrypted_file" "$unencrypted_file"
|
|
done
|