[linux-l] Danke für Anregungen shell skript

willek willek at gmx.de
Sa Okt 29 20:22:19 CEST 2005


Erstmal Danke für die Anregungen an alle. Ich hätte nicht erwartet, so
viel Input von Euch zu bekommen. Die gute Nachricht zuerst: das skript
ist fertig.

Die schlechte Nachricht: Der Benutzer kommt mit der Kommandozeile
absolut nicht zurecht. Also musste ich quasi von vorn beginnen und das
skript für Gnome tauglich machen. Das hat einige Probleme gelöst, andere
hervorgerufen. Spass hat es gemacht, aber mangels besseren Wissens sind
teilweise abenteuerliche Konstrukte rausgekommen. Seht selbst:

#!/bin/sh
# /usr/local/bin/verkleinere
zenity --info --title="Bildkonvertierer" --text "Das Programm
konvertiert alle angegebenen Dateien auf die angegebene Größe ins
angegebene Format.\n1. Bilder wählen\n2. Größe wählen\n3. Ausgabeformat
wählen\n"
zenity  --file-selection --multiple --title="Bilder zum Konvertieren?
Mehrfachselektion mit <Strg>"| sed s/"|"/\\n/g >/tmp/fileselection
VERZEICHNIS=`head -n1 /tmp/fileselection`
VERZEICHNIS=${VERZEICHNIS%/*}
FORMAT=`zenity --title  "Bildformat aussuchen" --entry --text
"Beispiel:\n 1024x768\n 800x600\n 640x480"`
ENDUNG=`zenity --title  "Bildendung aussuchen" --entry --text
"Beispiel:\n png \n jpg"`
mkdir $VERZEICHNIS/verkleinert
arbeite ()
{
 OIFS="$IFS"; IFS=$'\n'
 for i in `cat /tmp/fileselection`; do
   BASISNAME=${i%.*};export BASISNAME; BASISNAME=`echo $BASISNAME |sed
's at .*/\(.*\)$@\1 at g'`
   convert -resize "$FORMAT" "$i"
"$VERZEICHNIS"/verkleinert/"$BASISNAME.$ENDUNG"
   done
IFS="$OIFS"
}
arbeite | zenity --progress --pulsate --auto-close
rm /tmp/fileselection
zenity --info --title="Bildkonvertierer" --text "FERTIG!\nDie Dateien
befinden sich in`echo $VERZEICHNIS`/verkleinert"

Nun ja, es läuft.
Lutz



Mehr Informationen über die Mailingliste linux-l