Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 tongue


"The computer was born to solve problems that did not exist before." (B. Gates)

Hors ligne