ฉันพยายามที่จะโยกย้ายจากไปbashfish
คืออะไรfish's อนาล็อกเพื่อshopt? ฉันพยายามเลียนแบบบรรทัดนี้จาก.bashrc:
shopt -s dotglob # for mv * see hidden files
ฉันพยายามที่จะโยกย้ายจากไปbashfish
คืออะไรfish's อนาล็อกเพื่อshopt? ฉันพยายามเลียนแบบบรรทัดนี้จาก.bashrc:
shopt -s dotglob # for mv * see hidden files
คำตอบ:
นี่คือเจตนา เวลาส่วนใหญ่ที่ผู้ใช้ไม่ต้องการจับคู่ไฟล์ที่ซ่อนซึ่งไม่สามารถมองเห็นได้lsโดยไม่-aตั้งใจ โดยปกติไฟล์จะถูกซ่อนไว้ด้วยเหตุผลไม่ใช่เพื่อหมุนรอบคุณ นอกจากนี้หาก*จับคู่ไฟล์ที่ซ่อนอยู่การจับคู่ไฟล์ที่ไม่ได้ซ่อนไว้นั้นจะยุ่งยากเกินไป
อย่างไรก็ตามshopt -s dotglobไม่จำเป็นต้องใช้bash ซึ่งแตกต่างจากไฟล์ที่ถูกซ่อน ในทุบตีshopt -s dotglobเป็นวิธีเดียวของการจับคู่ไฟล์ในไดเรกทอรีทุกโดยไม่ตั้งใจจับคู่หรือ. ..อย่างไรก็ตามเปลือกปลาไม่สามารถจับคู่.หรือ..กลมกลืนได้ดังนั้นจึงไม่ใช่ปัญหา (หากคุณต้องการจับคู่อย่างจริงจัง.หรือ..ด้วยเหตุผลโง่ ๆ เพียงพูดอย่างชัดเจน) dotglobนอกจากนี้ปลาพยายามที่จะหลีกเลี่ยงตัวเลือกโดยการออกแบบเพื่อให้มันไม่ได้มี
เพื่อให้ตรงกับไฟล์ทุกไฟล์ในไดเรกทอรีคุณอาจต้องการใช้ส่วนขยายของวงเล็บเพื่อตรวจจับไฟล์ที่ขึ้นต้นด้วยจุดและไฟล์ที่ไม่ใช่ {.,}เป็นการขยายส่วนรองรับซึ่งตรงกับจุดที่อาจมีหรือไม่มีอยู่ ดาวหลังจากที่มันจับคู่ทุกอย่าง เนื่องจาก globs ในปลาไม่สามารถจับคู่.หรือ..รหัสต่อไปนี้ตรงกับทุกสิ่งยกเว้นทั้งสองไดเรกทอรี (ซึ่งทุบตีน่าเศร้าตรงถ้าคุณใช้รหัสด้านล่าง)
cat {.,}*
{,.}*ตนเอง