[DoodoM] escribió:EDITADO: Al final si que funciona. Sucede que debido a que como en mi PC se llamaba igual el script que el programa, el script se auto-ejecutaba dentro de sí mismo en un bucle infinito.
Si va a ser que era una tontería. La solución en mi caso ha sido poner el script en /usr/bin/autotrim y el programa en /usr/bin/trim. Por otro lado ¡Buen trabajo!
Pues menos mal que te diste cuenta, yo pensaba que habías dejado el ejecutable original como estaba (o sea como trim). Que el error fuese causado por un bucle infinito es algo que me hubiera ocurrido en la vida
[DoodoM] escribió:Ahora bien, me gustaría saber si podrías hacer que el script detectase si hay roms con la extensión en mayúscula, y si los hay, que realizase el trim solo con ellos.
Vamos a ver si me aclaro. Lo que quieres tener es:
- ROMs Trimeadas: *.nds
- ROMs No trimeadas: *.NDS
Entonces lo que quieres es procesar todas las .NDS y dejarlas trimeadas como .nds, ¿no?
#!/bin/bash
trim="/usr/local/bin/trim"
if [ ! -f $trim ]; then
echo "Asegúrese de que 'trim' esta instalado en:"
dirname $trim
echo
echo "http://blog.dev-scene.com/ratx/archives/category/trim/"
exit
fi
for i in *.NDS; do
if [ ! -f $i ]; then
echo "No hay ROMs que procesar..."
exit
fi
nom=`echo $i | sed s/.NDS//g`
echo "* * * $nom * * *"
trim "$i"
if [ -f "$nom.trim.NDS" ]; then
rm "$i"
mv "$nom.trim.NDS" "$nom.nds"
fi
done
exit
De todas formas comentar que no le veo mucho sentido a esto, porque el ejecutable original (trim) si detecta que ya no hay nada que trimear (porque realmente no hay nada, o porque ya se le pasó el "trim" anteriormente) entonces el archivo ni lo toca (analizarlo como es lógico lo tiene que analizar, pero no lo modifica para nada).