Ας αρχίσω πτώτος λοιπόν και ας μοιραστώ τα εξής:
Πρόβλημα 1: Ήθελα σε ένα directory που περιείχε μόνο εικόνες με μέγεθος 256*256 πίξελ να τις μικρύνω στα 90*90.
Λύση:
- Κώδικας: Επιλογή όλων
#!/bin/bash
for i in $(ls); do
if [ $i = "resize" ]; then
echo "ALL ok"
break;
fi
echo " Now converting $i"
convert -geometry '90x90!' $i $i
done
Το if υπάρχει γιατί είχα εκτός από τις εικόνες και το script μέσα και δεν ήθελα να βγαίνει το error

Τώρα η εντολή που κάνη όλη τη δουλειά είναι η convert -geometry '90x90!' $i $i που μέσα στα '' δέχεται το νέο μέγεθος. Το ! μετά δηλώνει πως θα το κάνει σε αυτό το μέγεθος. Διαφορετικά πηγαίνει αναλογικά π.χ. αν ήταν 900*950 θα γινόταν 90*95. Τα επόμενα δύο ορίσματα είναι με τη σειρά όνομα αρχείου που κάνει resize και νέο όνομα αρχείου.
Για την εκτέλεση του παραπάνω χρειάζεται το ImageMagick.
Πρόβλημα 2: Για την εγκατάσταση νέων smilies ( emoticons ) στη phpbb3 χρειάζεται να βάλεις τα νέα emoticons στο directory ../forum/images/smilies και χρειάζεται και ένα αρχείο smilies.pak . Ύστερα μέσα από το panel του admin εισάγονται τα εικονίδια. Πολλά smilies που υπάρχουν δεν συνοδεύονται από smilies.pak .
Λύση:
- Κώδικας: Επιλογή όλων
#!/bin/bash
for i in $(ls); do
if [ $i != "replace" ]; then
declare x="'$i','"
declare y=$(identify $i | head -n1 | cut -d" " -f3 | cut -d"x" -f1)
x="$x$y','"
declare y=$(identify $i | head -n1 | cut -d" " -f4 | cut -d"x" -f1)
x="$x$y','0','"
y=$(echo $i | cut -d"_" -f2 | cut -d"." -f1)
x="$x$y',':$y:',"
echo $x
fi;
done
Απλά εκτελέστε το παραπάνω script σε ένα προσωρινό directory που θα πρέπει να περιλαμβάνει μόνο τις νέες εικόνες. Ύστερα βάλτε τις νέες εικόνες και το smilies.pak στο σωστό directory και θα τις εισάγετε χωρίς κανένα πρόβλημα από το panel του admin.
Θα χρειαστεί να κάνετε redirect το output
- Κώδικας: Επιλογή όλων
replace > smilies.pak
Προφανώς το πρώτο script το ονόμασα resize και το δεύτερο που έγραψα μαζί με τον Ιβάν πάνω σε έναν δημιουργικό οίστρο το ονόμασαμε replace.

ΑΥΤΑ
