Bleibt es vielleicht hängen, weil Du hinter "Text:" ein normales Hochkomma statt eines Backticks verwendest?
ne, sind schon Backticks
alternativ kannst Du VAR=$(befehl) nehmen.
geht auch nicht, bleibt auch hängen
hier mal der ganze Script
#!/bin/bash
kdialog --separate-output --checklist "Scanmodus wählen:" Gray Grau off Color Farbe off Lineart Textmodus on 100 100 off 150 150 off 200 200 off 300 300 on 400 400 off 500 500 off 600 600 off 800 800 off 1200 1200 off > /tmp/liste.tmp
IFS="
"
COUNT=1
for i in `cat /tmp/liste.tmp`; do
declare VAR${COUNT}=$i
COUNT=$((++COUNT))
done
TMPFILE=$1
scanimage --format pnm --mode $VAR1 --resolution $VAR2 --brightness -3 -l 0 -t 0 -x 215mm -y 280mm > ${TMPFILE}.pnm #
Datei=`kdialog --getsavefilename "/media/l-lager/doks/ScanImages" "*.jpeg *.jpg |JPG Bilder"`
#kdialog --msgbox $datei
pnmtojpeg -quality 85 -optimize -comment "Created with scanbuttond and pnmtojpeg." $TMPFILE.pnm > $Datei #// die temporäre Datei wird mittels pnmtojpeg in eine jpeg-Datei umgewandelt und dabei komprimiert
rm -f $TMPFILE.pnm
es wird von ein anderem Script aufgerufen
#!/bin/bash
SCRIPTS='/media/office/tools/grafik/scripte'
TMPDIR="/media/l-lager/doks/ScanImages" #//hier wird ein Verzeichnis für die Datei festgelegt, durch die Verwendung der Umgebungsvariable $HOME wird jedes mal der Desktop des aktuellen Benutzers verwendet
TMPFILE="$TMPDIR/scan`date +%Y%m%d`-`date +%H%M%S`" #//wir generieren uns hier den Dateinamen für das spätere Ergebnis, der Name besteht aus dem Präfix scan und wird jedesmal um Datum und Uhrzeit ergänzt,
#//Dateinamenerweiterungen werden später hinzugefügt
LOCKFILE="/tmp/copy.lock" #//Variable für das Lockfile, das kennzeichnet ob der Scanner schon in Benutzung ist, wird hier nicht verwendet
case $1 in
1) echo "Button 1 pressed" # //wird Button 1 gedrückt so wird eine Meldung ausgegeben(nur sichtbar wenn scanbuttond im Vordergrund läuft, zum debuggen)
/$SCRIPTS/scan.sh $TMPFILE $DEVICE #//und das Skript scan.sh im versteckten Ordner .scanscripts im Homeverzeichnis gestartet, zusätzlich werden noch Name und Ort des Tempfiles,
;; #//sowie die Adresse des Scanners übergeben, sinnvoll bei mehr als einem Scanner
2) echo "Button 2 pressed" #//wird Button 2 gedrückt so wird eine Meldung ausgegeben (siehe oben)
/$SCRIPTS/scan-copy.sh $TMPFILE $DEVICE #//und das Skript copy.sh im versteckten Ordner .scanscripts im Homeverzeichnis gestartet, zu übergebenen Attributen siehe oben
;;
3) echo "Button 3 pressed" # //wird Button 3 gedrückt so wird eine Meldung ausgegeben (siehe oben)
/$SCRIPTS/scan-mail.sh $TMPFILE $DEVICE #//und das Skript mail.sh im versteckten Ordner .scanscripts im Homeverzeichnis gestartet, zu übergebenen Attributen siehe oben
;;
esac
P.S.merke gerade, wenn ich den Script direkt aufrufe geht es