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] |
+()()()---------()()()--------------------+