#! /bin/bash DATABASE=${DATABASE:-/tmp/docker-mailserver/postfix-accounts.cf} errex() { echo "$@" 1>&2 exit 1 } [ -f $DATABASE ] || errex "No postfix-accounts.cf file" [ -s $DATABASE ] || errex "Empty postfix-accounts.cf - no users have been added" # Lock database even though we are only reading ( flock -e 200 (grep -v "^\s*$\|^\s*\#" "$DATABASE" || true) | awk -F '|' '{ print $1; }' ) 200<$DATABASE