Shellscript beendet sich mit status 2 - wo ist mein Problem?

Echelon1010000

Active Member
Hi

Ich versuche gerade einen PDF Drucker einzurichten der die PDF Dateien per Mail weiterversendet. Dazu gehe ich nach dieser Anleitung vor.

Die Anleitung ist ursprünglich für Linux gedacht und hat dort auch funktioniert. Nun hab ich meinen Heimserver auf BSD umgestellt und ein Problem.

In der Anleitung ist ein sh-Script enthalten das als Backend in CUPS eingearbeitet werden soll. Soweit so gut. Ich hab alles eingereichtet und installiert und CUPS scheint das Script auch zu akzeptieren. Leider kann ich trotzdem nicht drucken. Im Log bekomme ich immer diese Fehlermeldung:

Code:
I [07/Sep/2005:09:25:49 +0200] Started filter /usr/local/libexec/cups/filter/pstops (PID 11875) for job 11.
I [07/Sep/2005:09:25:49 +0200] Started backend /usr/local/libexec/cups/backend/pdf (PID 11876) for job 11.
E [07/Sep/2005:09:25:49 +0200] PID 11876 stopped with status 2!

Ich hab dann eine Zeile "exit 66" in dem Script eingebaut und immer wenn ich die Fehlermeldung "exited with Status 66" bekommen hab den vorzeitigen Abbruch weiter nach unten verlegt. So konnte ich den Fehler im Script auf diese Zeile eingrenzen:

Code:
if [ "$3" == "" ]; then

Im Script steh dazu dieser Anweisungsblock:

Code:
OUTPUTFILENAME=
if [ "$3" = "" ]; then          <-------- hier ist die fragliche Zeile
    OUTPUTFILENAME="$PDFDIR/unknown.pdf"
else
if [ "$2" != "" ]; then
    OUTPUTFILENAME="$PDFDIR/$2-$PRINTTIME.pdf"
else
    OUTPUTFILENAME="$PDFDIR/$PRINTTIME.pdf"
fi
    echo "PDF file: $OUTPUTFILENAME placed in: $PDFDIR" >> $LOGFILE
fi
# run ghostscript

if [ $# -eq 6 ]; then
$PDFBIN $6 $OUTPUTFILENAME >& /dev/null
else
$PDFBIN - $OUTPUTFILENAME >& /dev/null
fi

Kann mir jemand helfen und mir sagen warum das Script sich bei der fraglichen Anweisung verabschiedet? Mit der sh kenn ich mich nicht ganz so dolle aus, ich bin da eher linuxgeprägt (Umstellung ist noch nicht so lange her) und verwende meist die bash.

System: FreeBSD 5.4-STABLE

Gruss, Dura
 
hoi Echelon,

die anleitung is für linux. und die meisten linuxe verwenden als shell die bash. papp also auf deinen rechner mal die bash drauf und ändere die erste zeile von

#!/bin/sh

nach

#!/pfad/zur/bash

wenn es dann immer noch net geht, musst du jemand anderes fragen.

wir lesen uns
ZbZ
 
Hi

Das Script selbst rennt nun, gibt aber noch jede Menge Probleme, scheint mehr linuxabhängig zu sein als ich dacht. gs wirft z.B. jede Menge Fehler aus. Nun ja,
ich werd mal weiterbastelm, danke für deine Hilfe.

Gruss, Echelon
 
Hi

Den hatte ich mir schon angesehen, ihn jedoch verworfen weil das Manual das ich gelesen habe eine Lösung beschrieben hat die auf einen Desktop zugeschnitten ist: Die PDF Files werden im $home bzw auf dem KDE Desktop des jeweiligen Users abgelegt. Das macht bei mir keinen Sinn, ich möchte einen Printserver einrichten bei dem die User die PDF Datei als E-Mail erhalten. Der Server selber ist headless.

Im Moment mache ich ganz gute Fortschritte mit einem selbstgeschriebenen Perlscript und ps2pdf. Da ich ein heterogenes Netzwerk habe läuft auf allen Clients und dem Server ein Samba, der PDF Drucker wird dann über die normale Druckerfreigabe angesprochen.

Danke dir für deinen Tip :)

Gruss, Echelon
 
Zurück
Oben