ฉันไม่มีความเชี่ยวชาญในเรื่องนี้ยังคงเรียนรู้ แต่หลังจากค้นหาคำถามนี้และคำตอบของคำถามนี้เพราะฉันต้องการสิ่งเดียวกันฉันเขียนสิ่งต่อไปนี้ (ตามคำตอบที่ว่า " The Archetypal Paul'sรายการที่จัดรูปแบบของทั้งนามแฝงและฟังก์ชั่น:
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"
}
ทำกับสิ่งที่ฉันต้องการ แบ่งปันในกรณีที่ช่วยคนอื่น
มี "การกระทำ" compgen -A [action]
อื่น ๆ อีกมากมายสำหรับ (และตัวเลือกอื่น ๆ สำหรับcompgen
หลักสูตร) ฉันพบบทความที่ดีที่นี่ซึ่งมีลิงก์ไปยังหน้าคน (เพราะman compgen
ไม่ทำงานในบางกรณี)