#!/bin/bash DATABASE=/tmp/docker-mailserver/postfix-accounts.cf function usage { echo 'Usage: updatemailuser [password]' exit 1 } if [ ! -z "$1" ]; then USER=$1 if [ -e "$DATABASE" ] && [ -z "$(grep $USER -i $DATABASE)" ]; then echo "User doesn't exist" exit 1 fi if [ ! -z "$2" ]; then PASS="$2" else read -s -p "Enter Password: " PASS if [ -z "$PASS" ]; then echo "Password can't be empty" exit 1 fi fi ENTRY=$(echo "$USER|$(doveadm pw -s SHA512-CRYPT -u "$USER" -p "$PASS")") sed -i.bak "s%^$USER.*%$ENTRY%g" $DATABASE else usage fi