40 lines
731 B
Bash
Executable File
40 lines
731 B
Bash
Executable File
#!/bin/bash -eu
|
|
set -o pipefail
|
|
|
|
usage() {
|
|
cat <<EOF
|
|
Usage: $(basename $0) NAME
|
|
|
|
replaces the owner's name in $OWNER_FILE
|
|
|
|
EOF
|
|
}
|
|
|
|
main() {
|
|
initialize-environment-vars $@ || { usage; exit 1; }
|
|
backup-and-save-name
|
|
report-success
|
|
}
|
|
|
|
initialize-environment-vars() {
|
|
readonly OWNER_FILE=/home/app/.wiki/$DOMAIN.owner.json
|
|
readonly OWNER_BACKUP_FILE=$OWNER_FILE-saved-$(date --iso-8601=minutes)
|
|
readonly NAME=${@:-missing}
|
|
[ ! "$NAME" == "missing" ]
|
|
}
|
|
|
|
backup-and-save-name() {
|
|
mv $OWNER_FILE $OWNER_BACKUP_FILE
|
|
jq ".name = \"$NAME\"" $OWNER_BACKUP_FILE > $OWNER_FILE
|
|
}
|
|
|
|
report-success() {
|
|
cat <<EOF
|
|
Owner's name changed to "$NAME"
|
|
Previous config is saved in ${OWNER_BACKUP_FILE##$PWD/}
|
|
|
|
EOF
|
|
}
|
|
|
|
main "$@"
|