Tôi không phải là chuyên gia về vấn đề này, vẫn đang học, nhưng sau khi tìm thấy câu hỏi này và câu trả lời của nó vì tôi cũng muốn như vậy, tôi đã viết như sau (dựa trên câu trả lời " Tuyên bố của Archetypal Paul ") để cho tôi biết cuối cùng tôi là gì: một danh sách được định dạng của cả bí danh và hàm:
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"
}
Đó là trước khi tôi thấy câu trả lời của Lri , và vì vậy ngoại suy từ đó, tôi thay thế các dòng declare
và alias
dòng bằng các compgen
lệnh thích hợp thay vào đó, để có được:
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"
}
Một điều trị cho những gì tôi muốn. Chia sẻ trong trường hợp nó giúp bất cứ ai khác.
Có vô số "hành động" khác có sẵn cho compgen -A [action]
(và các tùy chọn khác cho compgen
khóa học). Tôi đã tìm thấy một bài viết tốt ở đây cũng bao gồm một liên kết đến trang man (vì man compgen
trong một số trường hợp không hoạt động).