una - variables en bash
¿Cómo enumero las funciones definidas en mi caparazón? (6)
Puedo escribir un alias para mostrar una lista de todos los alias.
Pero para las funciones, todo lo que puedo hacer es grep my .bash_profile
.
Eso solo obtiene los que están en ese archivo, no aquellos definidos en archivos subsidiarios o dinámicamente.
¿Hay una forma más conveniente de averiguar qué funciones están definidas actualmente?
Asumiendo bash shell:
typeset -f
enumerará las funciones.
typeset -F
listará solo los nombres de las funciones.
declare -F
Los nombres de funciones y las definiciones se pueden enumerar con la opción
-f
al comandodeclare
incorporado (ver Bash Builtins). La opción-F
paradeclare
mostrará una lista de los nombres de las funciones solamente (y opcionalmente el archivo fuente y el número de línea).
declare -F
realidad imprime comandos declarar y no solo nombres de funciones:
$ declare -F
declare -f function1
declare -f function2
Puede usar la compgen -A function
para imprimir solo nombres de funciones:
$ compgen -A function
function1
function2
typeset es obsoleto, por favor use:
declare -f
o
declare -f function_name
o
type function_name
declare -F
le dará los nombres de todas las funciones
type function_name
te dará la fuente para una función particular
set | grep " ()"
En lugar de grep , también puedes usar fgrep o hgrep (hgrep es mi favorito personal, es grep, pero resalta el resultado ''grep-ped''.
hgrep se puede encontrar aquí: ACME Labs hgrep