Hallo Forum,
ich muss ein Script für den Copfilter modifizieren. Ein Shellscript ändert hier ein Pearlscript. Wieso das genau so läuft kann ich nicht wirklich nachvollziehen, soll aber auch nicht das Thema sein.
Aktuell sieht das Skript so aus:
#############################
#Server settings
cp -p $BASEDIR/opt/tools/bin/DMZS-sa-learn.pl $BASEDIR/opt/tools/bin/DMZS-sa-learn.pl.tmp.$$
cat $BASEDIR/opt/tools/bin/DMZS-sa-learn.pl |sed -e "s/^Server =.\*/Server =\> '${IMAP\_SERVER}:143',/" \
-e "s/^User =.\*/User =\> '$IMAP\_USER',/" \
-e "s/^Password =.\*/Password =\> '$IMAP\_PASS',/" \
-e "s/^Debug =.\*/Debug =\> '$IMAP\_DEBUG2',/" \> $BASEDIR/opt/tools/bin/DMZS-sa-learn.pl.tmp.$$
mv $BASEDIR/opt/tools/bin/DMZS-sa-learn.pl.tmp.$$ $BASEDIR/opt/tools/bin/DMZS-sa-learn.pl
echo "done server settings"
In der Zeile
-e "s/^User =.\*/User =\> '$IMAP\_USER',/" \
wird der Benutzer neu geschrieben/ersetzt. Das Ganze sieht dann im Pearl Script so aus:
my $imap = Mail::IMAPClient-\>new(
Server =\> '192.168.2.55:143',
User =\> 'spam',
Password =\> 'Cleanmail06',
Debug =\> '0',
Timeout =\> '5',
Buffer =\> '65536',
);
Aber der Benutzername MUSS in doppelten Anführungsstrichen stehen. Nicht so wie hier in einfachen.
Wie kann ich also diese Zeile
-e "s/^User =.\*/User =\> '$IMAP\_USER',/" \
umschreiben dass dies
User =\> "spam",
dann rauskommt?
Danke, Chris