| View previous topic :: View next topic |
| Author |
Message |
SvenFischer Veteran


Joined: 05 Feb 2003 Posts: 1025 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 Advocate


Joined: 20 Apr 2005 Posts: 3144
|
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: 170 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: 1025 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: 1269 Location: St. Wendel
|
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: 1025 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 |
|
 |
|