[Postfixbuch-users] disclaimer in postfix mit kav und altermime
Jan P. Kessler
postfix at jpkessler.info
Do Mär 1 20:22:07 CET 2007
> Das hier dürfte dein Hauptproblem sein:
> if [ $DOMAIN == $SENDER_DOMAIN1 -o $DOMAIN == $SENDER_DOMAIN2 ];
>
> Das ist falsch. Muss heissen:
> if [ ${DOMAIN} == ${SENDER_DOMAIN1} -o ${DOMAIN} == ${SENDER_DOMAIN2} ];
>
> Die {} sind wichtig, ansonsten versucht das Skript den String als
> Kommando auszuführen, was dazu führt, dass die Strings niemals
> übereinstimmen.
>
> Bsp.:
> $ MYDIR=`dirname /usr/local/share/doc/foo/foo.txt`
> $ echo $MYDIR
> /usr/local/share/doc/foo
>
> $ MYDIR=`dirname /usr/local/share/doc/foo/foo.txt`
> $ echo ${MYDIR}
> dirname /usr/local/share/doc/foo/foo.txt
Nein, die {}-Klamerung dient der Shell nur dazu, Variablennamen vom Text
zu unterscheiden.
# 0 jobs, root at outpost:~ # MYDIR=`dirname /usr/local/share/doc/foo/foo.txt`
# 0 jobs, root at outpost:~ # echo $MYDIR
/usr/local/share/doc/foo
# 0 jobs, root at outpost:~ # echo ${MYDIR}
/usr/local/share/doc/foo
Ist also identisch. Sinnvoll ist die {}-Klammerung z.B. bei folgendem
Szenario:
# 0 jobs, root at outpost:~ # MYFILE=x.txt
# 0 jobs, root at outpost:~ # echo "Copying $MYFILE $MYFILE_new"
Copying x.txt
# 0 jobs, root at outpost:~ # echo "Copying $MYFILE ${MYFILE}_new"
Copying x.txt x.txt_new
Und nur dafür... Bei dem eigentlichen Problem kann ich aber leider nicht
weiterhelfen :(
Gruß, Jan
Mehr Informationen über die Mailingliste Postfixbuch-users