On Tue, Nov 19, 2013 at 05:33:30PM -0500, Wietse Venema wrote: > --8<-snip-here--8<-- > #!/bin/sh > > case $# in > 0) echo usage: $0 example.com ... 1>&2; exit 1;; > esac > > VIRTUAL_MAP=/etc/postfix/virtual > VIRTUAL_DOMAINS=/etc/postfix/virtual_domains > > for domainname > do > echo postmaster@domainname root > echo abuse@domainname root > done >> $VIRTUAL_MAP > postmap $VIRTUAL_MAP > > echo domainname >>$VIRTUAL_DOMAINS > postmap $VIRTUAL_DOMAINS > --8<-snip-here--8<--
Replacing domainname with "${domainname}" as required: --8<-snip-here--8<-- #!/bin/sh case $# in 0) echo usage: $0 example.com ... 1>&2; exit 1;; esac VIRTUAL_MAP=/etc/postfix/virtual VIRTUAL_DOMAINS=/etc/postfix/virtual_domains for domainname do echo "postmaster@${domainname}" root echo "abuse@${domainname}" root done >> $VIRTUAL_MAP postmap $VIRTUAL_MAP echo "${domainname} >>$VIRTUAL_DOMAINS postmap $VIRTUAL_DOMAINS --8<-snip-here--8<-- Run this once for each new domain. A more sophisticated approach is to use a Makefile, with a list of domains in a separate file, and the virtual table constructed from this and other files that contain ad-hoc mappings. -- Viktor.