#1 Le 17/07/2008, à 09:19
- ®om
[Résolu] Afficher code fonction shell
Salut,
Supposons que l'on ait une fonction shell :
f() { echo hello; }
Comment à partir de son nom (f) peut-on afficher le code?
Par exemple :
$ je_veux_voir_le_code_de f
f() {
echo hello;
}
?
Dernière modification par ®om (Le 17/07/2008, à 09:59)
Hors ligne
#2 Le 17/07/2008, à 09:33
- xelator
Re : [Résolu] Afficher code fonction shell
Salut
J'ai pas d'idée précise mais tu peux faire un
cat ton_prog | ...
puis trouver "f()" et faire afficher celui çi plus ce qu'il y a entre crochet ...
pour le "ton_prog" il y a une variable qui te le donne je crois
Hors ligne
#3 Le 17/07/2008, à 09:43
- ®om
Re : [Résolu] Afficher code fonction shell
Et si la fonction n'a pas été définie dans un fichier?
Par exemple, si tu tapes dans une console :
$ f() { echo hello; }
Dernière modification par ®om (Le 17/07/2008, à 09:43)
Hors ligne
#4 Le 17/07/2008, à 09:44
- teke
Re : [Résolu] Afficher code fonction shell
sed ou awk son tes amis.
exemple :
sed -n '/^f() {$/,/^}$/{//d;p}' TonSource.sh
qui t'affichera tout ce qui est ENTRE les lignes contenants f() { et }. Ceci ne marchera que si ton code est parfaitement formaté. Ce n'est donc que un exemple...
#5 Le 17/07/2008, à 09:59
- ®om
Re : [Résolu] Afficher code fonction shell
Ah, les fonctions s'affichent si on tape declare ou typeset dans une console \o/
$ declare -f f
f ()
{
echo a
}
$ typeset -f f
f ()
{
echo a
}
Dernière modification par ®om (Le 17/07/2008, à 10:04)
Hors ligne
#6 Le 17/07/2008, à 10:06
- nicolas66
Re : [Résolu] Afficher code fonction shell
C'est bon à savoir ca, merci
"The computer was born to solve problems that did not exist before." (B. Gates)
Hors ligne