Je peux taper alias pour afficher une liste de tous les alias.
Mais pour les fonctions, tout ce que je peux faire, c’est grep my .bash_profile
.
Cela ne récupère que ceux de ce fichier, pas ceux définis dans des fichiers secondaires ou de manière dynamique.
Existe-t-il un moyen plus pratique de savoir quelles fonctions sont actuellement définies?
declare -F
Les noms de fonction et les définitions peuvent être listés avec le
-f
option de la commande intégréedeclare
(voir Intégrations Bash). Le-F
option surdeclare
ne listera que les noms de fonction (et éventuellement le fichier source et le numéro de ligne).
En supposant que bash Shell:
typeset -f
listera les fonctions.
typeset -F
ne listera que les noms de fonctions.
declare -F
vous donnera les noms de toutes les fonctions
type function_name
vous donnera la source d'une fonction particulière
declare -F
imprime réellement les commandes de déclaration et pas seulement les noms de fonction:
$ declare -F
declare -f function1
declare -f function2
Vous pouvez utiliser compgen -A function
pour n’imprimer que les noms de fonctions:
$ compgen -A function
function1
function2
typeset est obsolète, veuillez utiliser:
declare -f
ou
declare -f function_name
ou
type function_name
set | grep " ()"
Au lieu de grep vous pouvez aussi utiliser fgrep ou hgrep (hgrep est mon préféré, c’est grep mais il salue le résultat 'grep-ped'.
hgrep peut être trouvé ici: ACME Labs hgrep