No soy un experto en esto, todavía estoy aprendiendo, pero después de encontrar esta pregunta y su respuesta porque quería lo mismo, escribí lo siguiente (basado en la respuesta " La declaración del Arquetipo de Pablo ") para darme en última instancia lo que buscaba : Una lista formateada de ambos alias y funciones:
function functionaliaslist() {
echo
echo -e "\033[1;4;32m""Functions:""\033[0;34m"
declare -F | awk {'print $3'}
echo
echo -e "\033[1;4;32m""Aliases:""\033[0;34m"
alias | awk {'print $2'} | awk -F= {'print $1'}
echo
echo -e "\033[0m"
}
Eso fue antes de ver la respuesta de Lri , y extrapolando de eso, reemplazo las líneas declare
y alias
con los compgen
comandos apropiados , para obtener:
function functionaliaslist() {
echo
echo -e "\033[1;4;32m""Functions:""\033[0;34m"
compgen -A function
echo
echo -e "\033[1;4;32m""Aliases:""\033[0;34m"
compgen -A alias
echo
echo -e "\033[0m"
}
Es una delicia para lo que quería. Compartir en caso de que ayude a alguien más.
Hay una multitud de otras "acciones" disponibles para compgen -A [action]
(y otras opciones, por compgen
supuesto). Encontré una buena reseña aquí que también incluye un enlace a la página del manual (porque man compgen
en algunos casos no funciona).