Bennu Game Development

Foros en Español => Recursos => Topic started by: grisendo on May 30, 2010, 10:04:39 PM

Title: Script para Linux: Buscar funciones en módulos
Post by: grisendo on May 30, 2010, 10:04:39 PM
No sé si lo había hecho alguien antes, pero aquí va el código. Licencia... LGPL por ejemplo:

[code language="bash"]
#!/bin/bash

cd /usr/lib32/bgd/module
FILES="*.so"
for f in $FILES; do
    DATA=`moddesc $f | grep $1 -i`
    RESULT=`echo $?`
    if [ $RESULT -eq 0 ]; then
        echo "=========================================================="
        echo "    FILE: "$f
        echo "----------------------------------------------------------"
        moddesc $f | grep $1 -i
        echo "=========================================================="
    fi
done
[/code]

Se guarda esto en un fichero de texto (por ejemplo "modfind") se le da permisos de ejecución y se guarda en una carpeta que esté en el "path"

Situación de uso: Típico "storyboard" de un novato (y no tan novato) y/o despistado:

Resultado:
================================
    FILE: mod_map.so
----------------------------------------------------------
INT LOAD_PNG(STRING)
================================
Title: Re: Script para Linux: Buscar funciones en módulos
Post by: SplinterGU on May 30, 2010, 11:20:35 PM
gracias, no habia algo asi, si habia uno que te armaba la lista de todo lo que exporta en un unico archivo, pero no para buscar.

te doy un karma
Title: Re: Script para Linux: Buscar funciones en módulos
Post by: grisendo on May 31, 2010, 02:34:56 PM
¿Sería complicado añadir algo así al bgdc? Que ante un error de ese tipo comprobase si algún módulo no incluido (de los que sean visibles en el PATH que tengas definido) lo tiene, y mostrar cuál/cuáles.
Title: Re: Script para Linux: Buscar funciones en módulos
Post by: osk on May 31, 2010, 04:01:55 PM
La última llamada a moddesc del script se podría sustituir por un simple "echo $DATA", no?
Title: Re: Script para Linux: Buscar funciones en módulos
Post by: grisendo on May 31, 2010, 04:07:09 PM
En teoría tenía entendido que sí, pero a mí por lo menos si hago "echo $DATA" no me aparecen saltos de línea tal y como los devuelve el comando (no sé por qué!!), por eso vuelvo a ejecutarlo para que se vea por pantalla.
Title: Re: Script para Linux: Buscar funciones en módulos
Post by: grisendo on May 31, 2010, 04:14:02 PM
Lo encontré!! Si se hace echo $DATA, la cosa pinta mal como había dicho, pero si se hace echo "$DATA" ya respeta los saltos de línea ??? nunca llegaré a comprender del todo bash, sh y similares.

[code language="bash"]
#!/bin/bash
cd /usr/lib32/bgd/module
FILES="*.so"
for f in $FILES; do
   DATA=`moddesc $f | grep $1 -i`
   RESULT=`echo $?`
   if [ $RESULT -eq 0 ]; then
       echo "=========================================================="
       echo "    FILE: "$f
       echo "----------------------------------------------------------"
       echo "$DATA"
       echo "=========================================================="
   fi
done
[/code]
Title: Re: Script para Linux: Buscar funciones en módulos
Post by: Windgate on June 13, 2010, 03:50:23 PM
Quote from: grisendo on May 31, 2010, 02:34:56 PM
¿Sería complicado añadir algo así al bgdc? Que ante un error de ese tipo comprobase si algún módulo no incluido (de los que sean visibles en el PATH que tengas definido) lo tiene, y mostrar cuál/cuáles.

Bienvenido sería ;)

Te doy un karma por todas esas cosas tan extrañas que haces para Bennu Grisen :D