Я не знаю цього питання, все ще вчуся, але, знайшовши це питання та його відповідь, тому що я хотів того ж, я написав наступне (на основі відповіді " Архетипального Павла "), щоб у кінцевому підсумку дати мені те, про що я пішов: відформатований список як псевдонімів, так і функцій:
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"
}
Це було до того, як я побачив відповідь Лрі , і настільки екстраполюючи це, я замінюю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"
}
Шукає частування за те, що я хотів. Спільний доступ, якщо це допомагає комусь іншому.
Існує безліч інших "дій" compgen -A [action]
(та інших варіантів, compgen
звичайно). Я знайшов хорошу рецензію тут , який також включає в себе посилання на сторінку людини (тому що man compgen
не працює в деяких випадках).