Eksi (aka dash) tek başına bir seçenek değil, bir işlenendir (yani bir seçenek olmayan bir argüman). Bu nedenle --etkisiz hale getirmeden önce koymak . Çizgi, bir işlemsel cd -ve yine de bir işlemseldir cd -- -. Diğer standart araçlar gibi cd, bir operandı, --ondan önce olup olmadığına bakmaksızın bir operand olarak kabul eder .
cdKomut işlenen için özel bir anlam yükler -. Başka bir şey, değiştirilecek bir dizindir. cd -- -adenilen dizine geçer -a, çünkü -abir işlenen ve gibi özel değildir --önler cdbir seçenek olarak ele gelen. Bu -seçenek olmayan tek başına işe yaramaz .
Etrafa tırnak koymak -yardımcı olmaz, çünkü sonunda işleneni geçecek -.
Bu nedenle tek başvurunuz aynı fikri ifade etmenin başka bir yolunu bulmak, yani aynı dizin için başka bir isim bulmak. Neyse ki, kolay bir tane var: ./göreli bir dosya adından önce eklerseniz , aynı dosya anlamına gelir. ./: Bizim durumumuzda alakasız bir fark yaratıyor CDPATHdizin adı ile başladığında istişare edilmez /, ./ya ../. Böylece:
cd ./-
Diğer bir yol, çünkü -bir dizin, bir /sonrasını eklemektir . /Bir dosya adının sonuna bir a eklemek , dosyanın bir dizin olarak ele alınmasını sağlar (özellikle, dosya bir dizine sembolik bir link ise, komut dizinin kendisinde çalışacaktır) fark yok. Böylece:
cd -- -/
Yazma -/, tamamlanma kodu ile bu arada önerilmektedir, ancak bash'te sadece aslında --ondan önce çalıştığı için cd -/bash'ın özel bir durumu yoktur (zsh yapar).