Řešení 1:
Alespoň dvěma způsoby:
-
Použijte
--
argument.cd -- -2
Toto používá konvenci společnou pro nástroje GNU, která spočívá v tom, že se nezachází s ničím, co se objeví po
--
jako možnost příkazového řádku.Jak poznamenal komentátor, tato konvence je také definována ve standardu POSIX:
Výchozí chování: Když je tato sekce uvedena jako "Žádná.", znamená to, že implementace nemusí podporovat žádné možnosti. Standardní nástroje, které nepřijímají možnosti, ale přijímají operandy, musí rozpoznat
"--"
jako první argument, který je třeba zahodit.Požadavek na rozpoznání
"--"
je to proto, že vyhovující aplikace potřebují způsob, jak chránit své operandy před libovolnými možnostmi, které implementace může poskytnout jako rozšíření. Pokud je například standardní obslužný program foo uveden jako nevyužívající žádné možnosti a aplikace mu musela přidělit cestu s pomlčkou na začátku, může to bezpečně provést takto:foo -- -myfile
a vyhněte se jakýmkoli problémům s -m používá se jako rozšíření.
stejně jako:
Pokyn 10:
Argument--
by měl být přijat jako oddělovač označující konec možností. Všechny následující argumenty by měly být považovány za operandy, i když začínají'-'
charakter.--
argument by neměl být používán jako volba nebo jako operand. -
Explicitně zadejte cestu:
cd ./-2
Toto specifikuje cestu explicitně pojmenující aktuální adresář (
.
) jako výchozí bod.cd $(pwd)/-2 cd /absolute/path/to/-2
Toto jsou variace výše uvedeného. Může být možný libovolný počet takových variací; Nechám to jako cvičení na čtenáři, aby je všechny objevil.
Řešení 2:
Mělo by to fungovat:
cd -- -2
-- znamená žádnou další možnost
Řešení 3:
To bude fungovat, pokud je v aktuálním adresáři '-2'.
cd ./-2
Automatické doplňování můžete provést zadáním – a stisknutím tabulátoru.
Řešení 4:
cd /home/...../-2
také funguje. Uveďte úplnou cestu k přístupu.
Řešení 5:
Jen pro doplnění, pokud chcete tento adresář odstranit/smazat, můžete použít následující příkaz:
rm -r -- -2