Я не эксперт в этом, все еще учусь, но после того, как я нашел этот вопрос и ответ на него, потому что я хотел того же, я написал следующее (основываясь на ответе «Архетипов Павел объявляет »), чтобы в конечном итоге дать мне то, чего я добился: отформатированный список псевдонимов и функций:
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"
}
Это было , прежде чем я увидел ответ LRI в , и так экстраполируя , что я заменить declare
и alias
строку с соответствующими compgen
командами вместо того , чтобы получить:
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"
}
Woks угощение за то, что я хотел. Обмен в случае, если это помогает кому-либо еще.
Есть множество других «действий», доступных для compgen -A [action]
(и других вариантов, compgen
конечно). Я нашел хорошую статью здесь, которая также содержит ссылку на страницу руководства (потому man compgen
что в некоторых случаях она не работает).