2
กรอก avfs directory ปลอมใน zsh
ฉันจะปรับแต่งระบบความสมบูรณ์ของ zsh เพื่อให้ไฟล์ "ปลอม" สมบูรณ์ในบางสถานการณ์ได้อย่างไร แม่นยำยิ่งขึ้นระบบไฟล์AVFSทำให้ไฟล์เก็บถาวรเป็นไดเรกทอรีโดยการสร้าง "ไดเรกทอรีปลอม" ถัดจากไฟล์เก็บถาวร โดยค่าเริ่มต้นมันทำซ้ำลำดับชั้นของไดเรกทอรีทั้งหมดภายใต้จุดเชื่อมต่อของ~/.avfsมัน นอกจากนี้ภายใต้~/.avfsสำหรับทุกไฟล์เก็บถาวรเช่น/tmp/foo.zipนอกเหนือจากไฟล์เก็บถาวรตัวเอง~/.avfs/tmp/foo.zipมีไดเรกทอรีที่เรียกว่า~/.avfs/tmp/foo.zip#ซึ่งแสดงเนื้อหาของไฟล์เก็บถาวร อย่างไรก็ตามไดเรกทอรีพิเศษนี้ไม่ปรากฏในรายชื่อของ~/.avfs/tmp: มันมีอยู่เฉพาะเมื่อมีการร้องขออย่างชัดเจน (สิ่งนี้คล้ายกับการทำงานของเคาน์เตอร์อัตโนมัติ) mountavfs cd ~/.avfs/tmp/foo.zip\# เมื่อฉันพิมพ์คำสั่งเหมือนคำสั่งด้านบนfoo.zip#จะไม่ปรากฏเป็นความสำเร็จที่สมบูรณ์~/.avfs/tmp/เนื่องจากไม่มีไดเรกทอรีดังกล่าว วิธีที่ฉันสามารถบอก zsh ว่าเมื่อใดก็ตามที่มีไฟล์ที่มีเส้นทางแบบเต็ม$arcแมตช์~/.avfs/**/*.(tgz|zip)¹ก็ควรทำเป็นว่ามีไดเรกทอรีที่เรียกว่า${arc}#? (โปรดทราบว่าฉันต้องการความสมบูรณ์ในการทำงานกับการเรียกทุกครั้ง_filesหรือ_dirsไม่ใช่เฉพาะสำหรับcdคำสั่งฉันไม่ต้องการให้ทำซ้ำรหัสของ_filesฟังก์ชันหากเป็นไปได้) ¹ และส่วนที่เหลือทั้งหมดของส่วนขยาย