Re: fonction dans find

Page principale

Répondre à ce message
Auteur: Yves Martin
Date:  
À: guilde
Sujet: Re: fonction dans find
Selon Johann SUHM <liste@???>:

> Justement, je ne veux pas lancer un exécutable mais une fonction définie
> plus haut dans mon script (en simplifié) :
>
> ma_fonction() {
> mv ${1} "autre_chose..."
> }
>
> Si j'appelle une commande (echo par exempe) ça marche, si c'est ma
> fonction j'ai une erreur :-(


Je ne pense pas que ce soit possible car ta fonction est définie dans
l'environnement de ton shell (bash probablement) qui démarre un nouveau
processus (par fork) pour exécuter 'find'. Ce processus 'find' n'a donc aucun
moyen d'accéder à ta fonction - même si une option le permettait.

Dans ce genre de cas, je pipe la sortie de find dans un script ou une fonction
qui génère des commandes mv que je fais exécuter par bash. Pour schématiser:
find ¦ genere_commandes_mv ¦ bash

Eventuellement avec 'xargs' pour exécuter une ligne à la fois.

--
Yves Martin