Je ne suis pas un expert en la matière, j'apprends encore, mais après avoir trouvé cette question et sa réponse parce que je voulais la même chose, j'ai écrit ce qui suit (basé sur " La déclaration de l'archétype de Paul ") pour me donner finalement ce que je cherchais : une liste formatée d'alias et de fonctions :
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"
}
C'était avant que je voie La réponse de Lri et donc, en extrapolant, je remplace l'élément declare
y alias
des lignes avec des compgen
des commandes à la place, pour obtenir :
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"
}
Ça marche très bien pour ce que je voulais. Je partage au cas où cela aiderait quelqu'un d'autre.
Il existe une multitude d'autres "actions" disponibles pour compgen -A [action]
(et d'autres options pour compgen
bien sûr). J'ai trouvé un bon article ici qui comprend également un lien vers la page de manuel (car man compgen
ne fonctionne pas dans certains cas).
4 votes
@AlastairIrvine Merci pour la nomination du doublon ; cependant, je l'ai résolu dans l'autre sens. Cette question a beaucoup plus de vues et de votes positifs, ainsi qu'une sélection plus large de réponses ; et la réponse acceptée sur votre doublon nommé est décidément obscure et sans doute simplement fausse.