ความหมายของls
คำสั่งดังต่อไปนี้คืออะไร?
ls -l *\:2,*T
ls
= รายการ-l
= ยาว (รายการ)*T
อาจหมายถึงT
ในตอนท้าย
แต่สิ่งที่เกี่ยวกับที่*\:2
และเครื่องหมายจุลภาค?
ความหมายของls
คำสั่งดังต่อไปนี้คืออะไร?
ls -l *\:2,*T
ls
= รายการ-l
= ยาว (รายการ)*T
อาจหมายถึงT
ในตอนท้ายแต่สิ่งที่เกี่ยวกับที่*\:2
และเครื่องหมายจุลภาค?
คำตอบ:
*\:2,*T
เป็นรูปแบบ glob ของไฟล์ที่จะแสดง เพื่อให้เข้าใจเราต้องจำบางสิ่ง:
:
จะต้องมีการหลบหนีในเปลือกกลายเป็น \:
ดังนั้น*\:2,*T
เช่นจะตรงกับไฟล์ที่เรียกว่าTranscationNumber:2,EventType:XYT
แก้ไข
จากความคิดเห็นความจำเป็น (หรือไม่) ของการหลบหนี:
ความต้องการไม่กี่คำ: มันไม่จำเป็นอย่างเคร่งครัดที่จะหลบหนี:
สัญญาณ แต่ทุบตีตัวเองแนะนำมันเมื่อ autocompleting
:
ต้องมีการหลบหนี
:
ไม่จำเป็นต้องหลบหนี มันเป็นพิเศษเฉพาะในสถานการณ์ที่เฉพาะเจาะจง (เมื่อใช้เป็นคำสั่ง) ไม่ได้อยู่ในรูปแบบ glob \:
เทียบเท่ากับการ:
หลบหนีทำให้ไม่แตกต่าง
unset var; : ${var:=x}; echo $var
:
เป็นส่วนหนึ่งของค่าเริ่มต้นสำหรับCOMP_WORDBREAKS
ตัวแปรสภาพแวดล้อม ในการเติมข้อความอัตโนมัติของ Bash อักขระเหล่านั้นถูกใช้เป็นตัวคั่นคำโดยไลบรารีบรรทัดการอ่านและชื่อไฟล์ที่มีเครื่องหมายโคลอนควรเป็นคำเดียว ดังนั้นเหตุผลที่การเติมข้อความอัตโนมัติของการทุบตีต้องมีการหลีกเลี่ยงลำไส้ใหญ่แม้ว่าจะเป็น " ส่วนใหญ่ " ไม่ใช่ตัวอักษรพิเศษ ...
รายการไฟล์ทั้งหมดที่ตรงกับรูปแบบไวด์การ์ด *:2,*T
อักขระตัวแทนนั้น*
ตรงกับสิ่งใด ๆ (จำนวนอักขระที่เป็นไปได้ทั้งหมด)
:2,
คืออักขระที่จำเป็นต้องมีอยู่ในชื่อไฟล์ / ไดเรกทอรี
ลำไส้ใหญ่เป็นตัวละครพิเศษที่จะต้องหนีด้วยเหตุนี้รูปแบบของ:
ชื่อแฟ้ม / ไดเรกทอรีต้องจบลงด้วยการ\:2,
T
ชื่อไฟล์ที่จะจับคู่จะเป็น
:2,T
a:2,T
a:2,bT
abbY-$fafaf:2,<hskjhsgdfhjk>T
COMP_WORDBREAK
ค่าสภาพแวดล้อมที่ได้รับการตั้งค่าเริ่มต้น - ดังนั้นมันจึงไม่ใช่ตัวอักขระพิเศษจริง ๆ แต่เมื่อคุณใช้การเติมข้อความอัตโนมัติใน commandline และต้องการ / จำเป็นต้องจับคู่ชื่อไฟล์กับโคลอนต้องไม่ต้องมีการหลบหนี
ดังที่คนอื่น ๆ สังเกตไว้สิ่งนี้จะแสดงรายการในรูปแบบยาวไฟล์ที่มี:2
และสิ้นสุดT
ดูเหมือนว่าการค้นหาในโฟลเดอร์ Maildir สำหรับไฟล์ที่ถูกลบ (ถังขยะ) อย่างไรก็ตามสำหรับความแข็งแกร่งมันควรจะมีอีก*
ในตอนท้ายแม้ว่า แฟล็กใหม่ที่มีตำแหน่งตามตัวอักษรในภายหลังสามารถเพิ่มและ Dovecot เช่นเพิ่มฟิลด์อื่นที่มีขนาดไฟล์ในตอนท้าย