diff --git a/docker/add-user.sh b/docker/add-user.sh index 8bf78be..9974b1c 100755 --- a/docker/add-user.sh +++ b/docker/add-user.sh @@ -7,16 +7,19 @@ set -e -read -r -p "Email (full user@domain format): " EMAIL +if test -z "${EMAIL:-}"; then + read -r -p "Email (full user@domain format): " EMAIL +fi if ! echo "${EMAIL}" | grep -q @; then echo "Error: email should have '@'." exit 1 fi - -read -r -p "Password: " -s PASSWORD -echo +if test -z "${PASSWORD:-}"; then + read -r -p "Password: " -s PASSWORD + echo +fi DOMAIN=$(echo echo "${EMAIL}" | cut -d '@' -f 2) @@ -31,11 +34,7 @@ ENCPASS=$(doveadm pw -u "${EMAIL}" -p "${PASSWORD}") # Edit dovecot users: remove user if it exits. mkdir -p /data/dovecot touch /data/dovecot/users -if grep -q "^${EMAIL}:" /data/dovecot/users; then - cp /data/dovecot/users /data/dovecot/users.old - grep -v "^${EMAIL}:" /data/dovecot/users.old \ - > /data/dovecot/users -fi +sed --in-place=.old "/^${EMAIL}:/d" /data/dovecot/users # Edit dovecot users: add user. echo "${EMAIL}:${ENCPASS}::::" >> /data/dovecot/users