250 votes

Bash peut-il afficher la définition d'une fonction?

Est-il possible de voir la définition d'une fonction bash dans bash?

Par exemple, disons que j'ai défini la fonction foobar

 function foobar {
    echo "I'm foobar"
}
 

Est-il possible d'obtenir plus tard le code indiquant que foobar s'exécute?

 $ # non-working pseudocode
$ echo $foobar
echo "I'm foobar"
 

341voto

Benjamin Bannier Points 11953

Utilisez type . Si foobar est par exemple défini dans votre ~/.profile :

 $ type foobar
foobar is a function
foobar {
    echo "I'm foobar"
}
 

Cela permet de savoir ce qu’est foobar et si elle a été définie comme une fonction appelée declare -f comme expliqué par pmohandras.

192voto

pmohandas Points 399

Vous pouvez afficher la définition d'une fonction dans bash en utilisant declare. Par exemple:

 declare -f foobar
 

5voto

pyroscope Points 2545
<pre><code></code><p>foobar étant le nom de fonction.</p></pre>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X