แบ็กสแลชที่อยู่นอกเครื่องหมายคำพูดหมายถึง“ ตีความตัวละครต่อไปอย่างแท้จริงระหว่างการวิเคราะห์คำ” เนื่องจาก.เป็นอักขระทั่วไปสำหรับ parser \.จึงถูกวิเคราะห์ในลักษณะเดียวกับ.และเรียกใช้ builtin .(ซึ่งsourceมีความหมายเหมือนกันในการทุบตี)
มีกรณีหนึ่งที่สามารถสร้างความแตกต่างในบริบทนี้ หากผู้ใช้ได้กำหนดนามแฝงที่เรียกว่า.ก่อนหน้านี้.profileและ.profileกำลังอ่านในเปลือกที่ขยายนามแฝง (ซึ่งทุบตีเท่านั้นโดยค่าเริ่มต้นเมื่อมันถูกเรียกโต้ตอบแบบโต้ตอบ) จากนั้น.จะเรียกนามแฝง แต่\.จะยังคงเรียกตัว builtin เพราะเปลือก อย่าพยายามใช้นามแฝงในการขยายคำที่ถูกยกมา แต่อย่างใด
ฉันสงสัยว่า.ได้เปลี่ยนไปเพราะผู้ใช้บ่นหลังจากที่พวกเขาต้องการทำนามแฝงสำหรับ\..
โปรดทราบว่าจะเรียกใช้ฟังก์ชั่นที่เรียกว่า\. .สันนิษฐานว่าผู้ใช้ที่เขียนฟังก์ชั่นมีความรู้มากกว่าผู้ใช้ที่เขียนชื่อแทนและจะรู้ว่าการกำหนดคำสั่งมาตรฐาน.profileเป็นความคิดที่ไม่ดีถ้าคุณจะใส่รหัสจากบุคคลที่สาม แต่ถ้าคุณต้องการข้ามทั้งนามแฝงและฟังก์ชั่นคุณสามารถเขียนcommand .ได้ ผู้เขียนตัวอย่างนี้ไม่ได้ทำเช่นนี้เพราะพวกเขาใส่ใจเกี่ยวกับเปลือกหอยโบราณที่ไม่มีcommandรูปร่างภายในหรือมีโอกาสมากขึ้นเพราะพวกเขาไม่ได้ตระหนักถึงมัน
โดยวิธีการกำหนดนามแฝงใด ๆใน.profileเป็นความคิดที่ไม่ดีเพราะ.profileเป็นสคริปต์การเริ่มต้นเซสชั่นไม่ได้เป็นสคริปต์การเริ่มต้นเชลล์ .bashrcนามแฝงสำหรับทุบตีเป็นของใน