View previous topic :: View next topic |
Author |
Message |
SvenFischer Veteran
Joined: 05 Feb 2003 Posts: 1033 Location: Berlin
|
Posted: Thu Mar 07, 2013 11:00 pm Post subject: Nicht gentoo spezifisch - bash script ändern |
|
|
Hallo,
wer würde mir bitte helfen - dieses Skript ändert Bilder und zickt manchmal rum:
1. Er meckert, wenn er nicht die Endungen findet - das ist noch zu verschmerzen
2. Mit Leerstellen kann das Script nicht umgehen und das nervt sehr.
Code: |
rray='*.jpg *.JPG *.JPEG *.jpeg *.PNG *.png'
for f in $array;
do
echo "Processing $f"
ww=`convert $f -format "%[fx:.25*w]" info:`
hh=`convert $f -format "%[fx:.25*h]" info:`
composite -gravity southeast \( /home/sven/Documents/Aquarium/Logo_Korallen-Wiki.png -resize ${ww}x${hh} \) $f $f
convert $f -quality 90% -resize 1024x768\> $f
done
|
Vielen Dank
Sven _________________ Core2Duo, 4GB RAM, AMD/ATI 4850 and nice person in front! |
|
Back to top |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6747
|
Posted: Fri Mar 08, 2013 4:37 pm Post subject: |
|
|
2. Überall quoten: "$f" statt "$f". Auch Argument nach -resize quoten.
1. Am Schleifenanfang testen, ob "$f" existiert: test -r "$f" || continue |
|
Back to top |
|
|
mastacloak Apprentice
Joined: 01 Aug 2004 Posts: 174 Location: Berlin / Germany
|
Posted: Sat Mar 09, 2013 5:37 pm Post subject: |
|
|
Wenn Dir POSIX-Konformität nicht ganz so wichtig ist und Du bash >= v2 verwendest, kannst Du um 1. zu unterbinden auch
vor der Schleife in Deinem Shellscript aufrufen. Dann werden alle Pattern die zu keinem Ergebnis führen kurzerhand entfernt. |
|
Back to top |
|
|
SvenFischer Veteran
Joined: 05 Feb 2003 Posts: 1033 Location: Berlin
|
Posted: Mon Mar 11, 2013 12:01 pm Post subject: |
|
|
Hallo,
erstmal danke. Das mit den Leerzeichen funktioniert und ist eine enorme Hilfe!
Was nicht funktioniert ist das Abfangen der Fehlermeldungen:
Quote: |
./sven: Zeile 12: Syntaxfehler beim unerwarteten Wort `test'
./sven: Zeile 12: `test -r "$f" || continue'
|
Das Script sieht dann so aus:
Code: |
array='*.jpg *.JPG *.JPEG *.jpeg *.PNG *.png'
for f in $array;
test -r "$f" || continue
do
echo "Processing $f"
ww=`convert "$f" -format "%[fx:.25*w]" info:`
hh=`convert "$f" -format "%[fx:.25*h]" info:`
composite -gravity southeast \( /home/sven/Documents/Aquarium/Logo_Korallen-Wiki.png -resize ${ww}x${hh} \) "$f" "$f"
convert "$f" -quality 90% -resize 1024x768\> "$f"
done |
_________________ Core2Duo, 4GB RAM, AMD/ATI 4850 and nice person in front! |
|
Back to top |
|
|
py-ro Veteran
Joined: 24 Sep 2002 Posts: 1734 Location: Velbert
|
Posted: Mon Mar 11, 2013 12:14 pm Post subject: |
|
|
Die test Zeile gehört nach dem do. |
|
Back to top |
|
|
SvenFischer Veteran
Joined: 05 Feb 2003 Posts: 1033 Location: Berlin
|
Posted: Mon Mar 11, 2013 11:46 pm Post subject: |
|
|
Vielen Dank für Eure Hilfe! _________________ Core2Duo, 4GB RAM, AMD/ATI 4850 and nice person in front! |
|
Back to top |
|
|
|