Os paso tres pruebecitas curiosas:

Si 'Prueba1' funciona:

        # Prueba1
        prukk() {
        echo hhhhhhhhhhhh | cat
        cat <<FIN
        aaa
        bbb
        FIN
        }
        export -f prukk
        echo 'prukk' |  sh

Y 'Prueba2'  tambi�n funciona:

        # Prueba2
        prukk() {
                cat <<FIN  | cat
        aaa
        bbb
        FIN
        }
        prukk

� Porque 'Prueba3' no solo no funciona sino que provoca un error
de sintaxis en la funci�n exportada ?

        # Prueba3
        prukk() {
                cat <<FIN  | cat
        aaa
        bbb
        FIN
        }
        export -f prukk
        echo 'prukk' |  sh

   :-O  :-O  :-O

sh: prukk: line 5: syntax error near unexpected token `|'
sh: prukk: line 5: ` | cat'
sh: error importing function definition for `prukk'
sh: prukk: command not found

   :-O  :-O  :-O

No le veo el sentido. Es como si bash tuviera implementada su
gram�tica en dos lugares distintos y fueran diferentes.


Me ha ocurrido esto mientras intentaba ejecutar una funci�n con
sudo. Al no ser un comando se me ocurri� exportar la funci�n y
ejecutarla desde una subshell con sudo. (echo 'prukk' | sudo sh)
pero me da un error que no tiene nada que ver con sudo. Quiz�s
exista otra forma de conseguir lo que quiero pero lo que ahora
me tiene comida la moral es porque una funci�n importada da un
error de sintaxis que no exist�a en la funci�n exportada siendo
logicamente id�nticas.




-- 
Un saludo
Antonio Castro

       /\     /\   Ciberdroide Inform�tica
         \\W//  << http://www.ciberdroide.com >>
        _|0 0|_
+-oOOO-(___o___)-OOOo---------------------+
| . . . . U U . Antonio Castro Snurmacher |
| . . . . . . . [EMAIL PROTECTED]   |
+()()()---------()()()--------------------+

Responder a