Eine Optimierung hätte ich noch gerne erledigt:
Die USB-Nr. ist zum Ansprechen des Geräts notwendig, kann sich aber ändern (wenn man das Kabel umsteckt und vllt auch aus anderen Gründen)
Ich würde daher gerne mein script so ändern, dass der Gerätename immer neu gecheckt und die entsprechende Variable neu gesetzt wird. Ich kann das nur als Pseudocode angeben wie das funktionieren soll.
aktuelles script mit Pseudocode und Änderung in blau:
#!/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
# Pseudocode:
# DNAME=<output aus "scanimage -L" \
# -> device `genesys:libusb:003:003' is a Canon LiDE 110 flatbed scanner
# zwischen "`" und "'"
# sowas in dieser Art:
# scanimage -L | sed 's/.*` \(.*\)'/\1/'
# das funktioniert nicht weil laienhaft aus dem Nezt zusammenkopiert
scanimage \
-d "genesys:libusb:003:003" \ #Zeile geändert in: -d "$DNAME"
--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
Kann jemand weiterhelfen?