(gelöst) script: Variablenabfrage tut es nicht, script Ende to promt

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
michaa7
Beiträge: 5069
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

(gelöst) script: Variablenabfrage tut es nicht, script Ende to promt

Beitrag von michaa7 » 21.08.2024 14:44:21

Ich habe mir dieses script angepasst:

Code: Alles auswählen

#!/bin/bash


if [ -z "$1" ]; then
        echo 'Please provide the name of the output PDF file.'
        exit 1
fi

SCAN_DIR=/home/mh/temp/_scans

if [ ! -d $SCAN_DIR ]; then
        mkdir -p $SCAN_DIR
fi

scanimage \
        -d "genesys:libusb:003:003" \ 
        --batch=$SCAN_DIR/out%d.pnm \ 
        --source "Flatbed" \  
        -x 210 -y 297 --resolution 300 \
        --batch-prompt


gm convert $SCAN_DIR/out*.pnm $1

rm $SCAN_DIR/out*.pnm
Wenn ich das script aufrufe erscheint die Abfrage und das script endet augenblickelich mit dem neuen Promt ohne dass ich etwas eingebe (n könnte). Ich gehe davon aus dass das Script bei shoening tut was es soll. Warum nicht bei mir?

Ich habe von Scripten ein vollkommen oberflächliches Verständnis! So setzt bitte so gut wie nichts voraus.
Zuletzt geändert von michaa7 am 21.08.2024 16:12:25, insgesamt 1-mal geändert.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Benutzeravatar
4A4B
Beiträge: 981
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: script: Variablenabfrage tut es nicht, script Ende to promt

Beitrag von 4A4B » 21.08.2024 16:09:16

Der Name der Ausgabe-Datei wird nicht von dem Script eingelesen, sondern muss als erste Option ($1) zum Script angegeben werden, z.B.:

Code: Alles auswählen

./scan2pdf ausgabe.pdf

michaa7
Beiträge: 5069
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: script: Variablenabfrage tut es nicht, script Ende to promt

Beitrag von michaa7 » 21.08.2024 16:12:03

Ok, das 'Please provide the name of the output PDF file.' ist ein Hinweis, keine Aufforderung zur Eingabe eines Namens.

Das script wird gestartet mitsamt dem Outputnamen als Argument. Dann klappt das auch. Habe noch "gm" gelöscht weil ich es garnicht installiert habe und das ganze mit imagemagik convert auch funktioniert. Zudem den Ausgabepfad noch angepasst und nun läuft es wie es soll (von der Sache mit dem Pfad im anderen thread abgesehen):

Code: Alles auswählen

#!/bin/bash


if [ -z "$1" ]; then
        echo 'Please provide the name of the output PDF file.'
        exit 1
fi

SCAN_DIR=/home/mh/temp/_scans

if [ ! -d $SCAN_DIR ]; then
        mkdir -p $SCAN_DIR
fi

scanimage \
        -d "genesys:libusb:003:003" \
        --batch=$SCAN_DIR/out%d.pnm \
        --source "Flatbed" \
        -x 210 -y 297 --resolution 300 \
        --batch-prompt


# gm convert $SCAN_DIR/out*.pnm $1
convert $SCAN_DIR/out*.pnm $SCAN_DIR/$1

rm $SCAN_DIR/out*.pnm
Weitere Optimierungen später. Das Skelett und ein bisschen Fleisch funktioneren erstmal ;-) . :mrgreen:

Danke 4A4B, das hat sich knapp überschnitten.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Antworten