Am Mittwoch, den 18.07.2012, 17:31 +0200 schrieb Christian Knoefel: > Hallo, > > Also ich habe jetzt die Funktion vor dem Ausführen definiert und die > Struktur angepasst: > > machhappa() { > cp $1 /opt/kunden/kundenscan/arbeit > gs -dNOPAUSE -sDEVICE=pdfwrite > -sOUTPUTFILE=/opt/kunden/kundenscan/archiv/$1 -dBATCH > /opt/kunden/kundenscan/arbeit $1 > rm -f /opt/kunden/kundenscan/arbeit > } > for file in /opt/kunden/kundenscan/incoming/??????.pdf; do > machhappa $file > else > cp $file /opt/kunden/kundenscan/archiv > rm -f $1 > done > > > Jetzt meckert er natürlich das "else" mit > > ./opt/kunden/kundenscan/t2.sh: line 16: syntax error near unexpected > token `else' > ./opt/kunden/kundenscan/t2.sh: line 16: `else' > > an. > > Also das Script soll ganz einfach eine Datei x in ein Verzeichnis > kopieren, es sei denn, dort gibt es die Datei schon (gleichen Names), > dann soll es sie anhängen an die vorhandene. In beiden Fällen soll er > sie natürlich anschließen aus der Quelle löschen, damit nicht unendlich > angehangen wird, es sei denn ich scanne was für den Kunden dazu (zu > späterem Zeitpunkt), was dann wieder in /incoming gespeichert wird. Mein Vorschlag: #!/bin/bash SCANS="/opt/kunden/kundenscan/archiv/" INCOMING="/opt/kunden/kundenscan/incoming/" for FILE in ${INCOMING}??????.pdf ; do FILE="${FILE##*/}" if [ -f "${SCANS}${FILE}" ] ; then gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE="${SCANS}${FILE}-new" -dBATCH "${SCANS}${FILE}" "${INCOMING}${FILE}" rm -f "${SCANS}${FILE}" "${INCOMING}${FILE}" mv "${SCANS}${FILE}-new" "${SCANS}${FILE}" else mv "${INCOMING}${FILE}" "${SCANS}${FILE}" fi done Ich hoffe ich hab die Parameter von 'gs' richtig gedeutet. Habe deine 'cp'&'rm'-Orgie durch 'mv' ersetzt, geht schneller und ist klarer. Lese es dir nochmal genau durch, hab es nicht getestet, nur schnell mit Logik getippt. -- mfG Sascha Auch Kränkungen wollen gelernt sein. Je freundlicher, desto tiefer trifft's. -- Martin Walser
Attachment:
signature.asc
Description: This is a digitally signed message part