#! /bin/bash DATABASE=${DATABASE:-/tmp/docker-mailserver/postfix-virtual.cf} EMAIL="$1" RECIPIENT="$2" usage() { echo "Usage: addalias " } errex() { echo "$@" 1>&2 exit 1 } escape() { echo "${1//./\\.}" } [ -z "$EMAIL" ] && { usage; errex "Error: No alias specified"; } [ -z "$RECIPIENT" ] && { usage; errex "Error: No recipient specified"; } grep -qi "^$(escape $EMAIL)[a-zA-Z@.\ ]*$(escape $RECIPIENT)" $DATABASE 2>/dev/null && errex "Alias \"$EMAIL $RECIPIENT\" already exists" if grep -qi "^$(escape $EMAIL)" $DATABASE 2>/dev/null; then sed -i "/$EMAIL/s/$/,$RECIPIENT/" $DATABASE else echo "$EMAIL $RECIPIENT" >> $DATABASE fi