एक माइनस (उर्फ डैश) अकेले एक विकल्प नहीं है, लेकिन एक ऑपरेंड (यानी एक तर्क जो एक विकल्प नहीं है)। इस वजह से, --इसे लगाने से पहले कोई प्रभाव नहीं पड़ता है। डैश एक ऑपरेंड है cd -और अभी भी इसमें एक ऑपरेंड है cd -- -। अन्य मानक उपयोगिताओं की तरह, cdएक ऑपरेंड को एक ऑपरेंड के रूप में मानते हैं चाहे --वह इससे पहले हो।
cdआदेश संकार्य करने के लिए एक विशेष अर्थ प्रदान करती है -। और कुछ भी करने के लिए स्विच करने के लिए एक निर्देशिका है। cd -- -aनिर्देशिका में स्विच किया जाता है -a, क्योंकि -aएक ऑपरेंड के रूप में विशेष नहीं है और इसे विकल्प के रूप में व्यवहार करने से --रोकता cdहै। यह -अकेले के लिए काम नहीं करता है जो एक विकल्प नहीं है।
चारों ओर उद्धरण डाल -मदद करने के लिए नहीं जा रहा है, क्योंकि वह अंततः ओपेरा को -वैसे भी पारित करेगा ।
इसलिए आपका एकमात्र सहारा उसी विचार को व्यक्त करने का एक और तरीका ढूंढना है, उसी निर्देशिका का दूसरा नाम। सौभाग्य से, वहाँ एक आसान है: यदि आप ./एक रिश्तेदार फ़ाइल नाम से पहले जोड़ते हैं , तो यह अभी भी उसी फ़ाइल का मतलब है। इससे ./फर्क पड़ता है जो हमारे मामले में अप्रासंगिक है: CDPATHजब निर्देशिका का नाम /, ./या के साथ शुरू होता है , तो परामर्श नहीं किया जाता है ../। इस प्रकार:
cd ./-
एक अन्य तरीका, चूंकि -एक निर्देशिका है, /इसके बाद जोड़ना है । /फ़ाइल नाम के अंत में जोड़ना यह सुनिश्चित करता है कि फ़ाइल को एक निर्देशिका के रूप में माना जाता है (विशेष रूप से, यह कमांड निर्देशिका पर ही काम करेगा और सिम्लिंक पर नहीं अगर फ़ाइल निर्देशिका का प्रतीकात्मक लिंक है), लेकिन अन्यथा बनाता है कोई फर्क नहीं। इस प्रकार:
cd -- -/
लेखन -/को पूरा करने के तरीके के अनुसार कोड का सुझाव दिया जाता है, लेकिन बैश में यह वास्तव में --इससे पहले ही काम करता है, बैश के लिए कोई विशेष मामला नहीं है cd -/(zsh do)।