Afficher le corps de la fonction dans Bash


14

J'ai configuré plusieurs fonctions dans mon .bashrcfichier. Je voudrais simplement afficher le code réel de la fonction et ne pas l'exécuter, pour me référer rapidement à quelque chose.

Y a-t-il un moyen, nous pourrions voir la définition de la fonction?

Réponses:


15

L' option declareintégrée -ffait cela:

bash-4.2$ declare -f apropos1
apropos1 () 
{ 
    apropos "$@" | grep ' (1.*) '
}

J'utilise typeà cet effet, il est plus court à taper;)

bash-4.2$ type apropos1
apropos1 is a function
apropos1 () 
{ 
    apropos "$@" | grep ' (1.*) '
}

6

Vous pouvez utiliser la typecommande pour ce faire.

type yourfuncimprimera la fonction sur STDOUT. Comme man typedit,

L'utilitaire type doit indiquer comment chaque argument serait interprété s'il était utilisé comme nom de commande.

2
man type? Les commandes internes de Shell n'ont généralement pas de page de manuel sur mon système.
manatwork

J'ai mis à jour ma réponse avec un lien. Le système que j'utilise est Arch Linux.
jasonwryan

1
Je vous remercie. Il semble que le paquet des pages de manuel contienne beaucoup plus sur Arch.
manatwork

Pas de problème: comme c'est une des pages de manuel POSIX, je pensais qu'elle serait largement diffusée ...
jasonwryan

4
help typeaffiche les informations spécifiques à Bash.
l0b0

0

pour les informations des commandes intégrées, utilisez:

help [-s|-d] COMMAND1 COMMAND2 ....

par exemple:

help help alias

Pour plus d'informations sur tous ces types, par exemple:

help -s '' 
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.