Zwei Skripte "mergen" .... Wie?

Post Reply
Message
Author
User avatar
Stormbringer
Posts: 1570
Joined: 11. Jan 2001 11:01
Location: Ruhrgebiet

Zwei Skripte "mergen" .... Wie?

#1 Post by Stormbringer »

Hallo,

wie können die folgenden Skripte zu einem zusammengefaßt werden?

Skript 1:
<blockquote><hr>
if [ "$5" != "" ]; then
PHONEMATCH=$5\$
USERENTRY=`grep -v "^#" etc/users | grep "$PHONEMATCH"`
if [ "$USERENTRY" != "" ]; then
USERNAME=`echo $USERENTRY | awk '{print $1}'`
SENDTO="$USERNAME"
fi
fi
<hr></blockquote>

Skript 2:
<blockquote><hr>
DOCNAME=$1
JOBID=$2
MAILTO=$3
SENDER=`cat /var/spool/fax/log/c$JOBID | grep "tif" | grep "from" | cut -c 70-87 | sed 's/, [^?]*//'`
FILENAME=`echo $DOCNAME | sed 's/recvq\///'`
REASON=`cat /var/spool/fax/log/c$JOBID`
<hr></blockquote>

Ziel ist es (ich hoffe das es dann funzt ...), als MAILTO Deklaration in Skript 2 die "Auswertung" von Skript 1 zu nutzen.

Beide Skripte gehören zu HylaFAX, bei welchem ich immer noch Probleme mit der User-zu-MSN Auswertung habe - sprich die User mit dedizierter MSN erhalten keine Email bzgl. des Empfangs eines Faxes.
Nun habe ich mir so ziemlich alle Skripte angesehen, und ich hoffe durch eine Kombination aus diesen Beiden eine funktionierende Lösung zu erhalten.

BTW:
kann jemand aus Skript 1 herauslesen, wie die etc/users Datei aufgebaut sein soll? Laut Doku wie folgt:
user1@email MSN1
user2@email MSN2
Ist das korrekt, oder ist im Skript evtl. ein Schreibfehler vorhanden?

Danke & Gruß
Continuum Hierarchy Supervisor:
You have already been assimilated.
(Rechtschreibungsreformverweigerer!)

Jochen

Re: Zwei Skripte

#2 Post by Jochen »

Das Format der etc/users, dass Du angibst, würde passen: In PHONEMATCH wird ein Regulärer Ausdruck zusammengebastelt, der nur am Ende der Zeile passt. Das entspricht der MSN in der Datei. Dabei darf die Datei natürlich keine Blanks am Ende der Zeile haben, sonst passt es nicht! awk gibt später das erste Feld aus der Datei aus, das ist dann die Email-Adresse. So weit, so gut.

Bist Du sicher, dass Skript 1 die mit relativem Pfad angegebene etc/users finden kann?

Was wird Skript 1 denn alles als Argumente beim Aufruf übergeben? Wenn ich Dich richtig verstanden habe, willst Du in Skript 2 ein

MAILTO=`skript1 para1 para2 ...`

machen. Dann müssen dessen Parameter natürlich richtig gesetzt sein.

Persönlich hätte ich das Skript 1 auch etwas anders aufgezogen. Wenn schon awk, dann richtig:<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
if [ -n "$5"] ; then
awk -v phone="$5" '
/^#/ {next}
$2 == phone {print $1}' etc/users
fi
</font><hr></pre></blockquote>

Übrigens, nein, Dein HOWTO ist <i>nicht</i> schlecht <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">. Näheres später, wenn meine EMails wieder einwandfrei funzen...

Jochen

User avatar
Stormbringer
Posts: 1570
Joined: 11. Jan 2001 11:01
Location: Ruhrgebiet

Re: Zwei Skripte

#3 Post by Stormbringer »

Hallo Jochen,

nun, nachdem Du so eindrücklich nachgefragt hast .... nein, sicher bin ich mir nicht.
Nur ist es halt so vorgegeben - werde aber einmal den Aufbau etwas ändern.
Die Verzeichnisstruktur sieht wie folgt aus:
Skript 1 & Skript 2 liegen in /var/spool/fax/bin, während die Datei users in /var/spool/fax/etc liegt.
Aufgrund Deiner Frage werde ich nun also auch die Pfadangabe von etc/users zu ../users ändern.

Melde mich, sobald ich dies ausprobiert habe!

Gruß
Continuum Hierarchy Supervisor:
You have already been assimilated.
(Rechtschreibungsreformverweigerer!)

User avatar
Stormbringer
Posts: 1570
Joined: 11. Jan 2001 11:01
Location: Ruhrgebiet

Re: Zwei Skripte

#4 Post by Stormbringer »

Hallo Jochen,

habe Dir eine Email gesendet .... trauriges Thema ...

Gruß
Continuum Hierarchy Supervisor:
You have already been assimilated.
(Rechtschreibungsreformverweigerer!)

Post Reply