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 .
cd
Komut işlenen için özel bir anlam yükler -
. Başka bir şey, değiştirilecek bir dizindir. cd -- -a
denilen dizine geçer -a
, çünkü -a
bir işlenen ve gibi özel değildir --
önler cd
bir 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 CDPATH
dizin 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).