เครื่องหมายลบ (aka dash) เพียงอย่างเดียวไม่ใช่ตัวเลือก แต่เป็นตัวถูกดำเนินการ (เช่นอาร์กิวเมนต์ที่ไม่ใช่ตัวเลือก) ด้วยเหตุนี้การวาง--
ก่อนที่จะไม่มีผลกระทบ รีบเป็นตัวถูกดำเนินการในและยังคงเป็นตัวถูกดำเนินการในcd -
cd -- -
เช่นเดียวกับยูทิลิตี้มาตรฐานอื่น ๆ ให้cd
ถือว่าตัวถูกดำเนินการเป็นตัวถูกดำเนินการโดยไม่คำนึงว่ามี--
มาก่อน
คำสั่งกำหนดความหมายพิเศษที่จะถูกดำเนินการcd
-
สิ่งอื่นใดคือไดเรกทอรีที่จะสลับไปใช้ cd -- -a
สลับไปยังไดเรกทอรีที่เรียกว่า-a
เนื่องจาก-a
ไม่ใช่ตัวถูกดำเนินการพิเศษและการ--
ป้องกันไม่ให้cd
ถือเป็นตัวเลือก สิ่งนี้ใช้ไม่ได้สำหรับ-
คนเดียวซึ่งไม่ใช่ตัวเลือก
การใส่เครื่องหมายคำพูดรอบ ๆ-
จะไม่ช่วยได้เพราะในที่สุดจะส่งผ่านตัวถูกดำเนินการ-
ต่อไป
การขอความช่วยเหลือเพียงอย่างเดียวของคุณคือการค้นหาวิธีการแสดงความคิดเดียวกันอีกวิธีหนึ่งเช่นชื่ออื่นสำหรับไดเรกทอรีเดียวกัน โชคดีที่มีวิธีง่าย ๆ : ถ้าคุณเพิ่ม./
ก่อนชื่อไฟล์ที่สัมพันธ์กันมันก็ยังหมายถึงไฟล์เดียวกัน ./
ไม่สร้างความแตกต่างที่ไม่เกี่ยวข้องในกรณีของเรา: CDPATH
ไม่ได้รับการพิจารณาเมื่อชื่อไดเรกทอรีเริ่มต้นด้วย/
, หรือ./
../
ดังนั้น:
cd ./-
อีกวิธีหนึ่งเนื่องจาก-
เป็นไดเรกทอรีคือการเพิ่ม/
หลังจากนั้น การเพิ่ม/
ที่ท้ายชื่อไฟล์ทำให้แน่ใจว่าไฟล์นั้นถูกใช้เป็นไดเร็กทอรี (โดยเฉพาะคำสั่งจะทำงานบนไดเร็กทอรีเองและไม่ได้อยู่บน symlink หากไฟล์นั้นเป็นลิงก์สัญลักษณ์ไปยังไดเร็กทอรี) แต่เป็นอย่างอื่น ไม่แตกต่าง. ดังนั้น:
cd -- -/
การเขียน-/
ขอแนะนำให้ใช้โค้ดที่สมบูรณ์โดยวิธีการ แต่ในการทุบตีมันใช้ได้จริงกับ--
ก่อนหน้าเท่านั้นการทุบตีไม่มีกรณีพิเศษสำหรับcd -/
(zsh ทำ)