Lösung 1:
Mindestens zwei Möglichkeiten:
-
Verwenden Sie den
--
Argument.cd -- -2
Dies verwendet eine für GNU-Tools übliche Konvention, die besagt, dass nichts behandelt wird, was nach
--
erscheint als Befehlszeilenoption.Wie ein Kommentator bemerkte, ist diese Konvention auch im POSIX-Standard definiert:
Standardverhalten: Wenn dieser Abschnitt als „None.“ aufgeführt ist, bedeutet dies, dass die Implementierung keine Optionen unterstützen muss. Standard-Dienstprogramme, die keine Optionen, aber Operanden akzeptieren, sollen
"--"
erkennen als erstes zu verwerfendes Argument.Die Anforderung zum Erkennen von
"--"
liegt daran, dass konforme Anwendungen eine Möglichkeit benötigen, ihre Operanden vor beliebigen Optionen zu schützen, die die Implementierung möglicherweise als Erweiterung bereitstellt. Wenn zum Beispiel das Standarddienstprogramm foo so aufgelistet ist, dass es keine Optionen akzeptiert, und die Anwendung ihm einen Pfadnamen mit einem führenden Bindestrich geben muss, könnte es dies sicher tun als:foo -- -myfile
und vermeiden Sie Probleme mit -m als Erweiterung verwendet.
sowie:
Richtlinie 10:
Das Argument--
sollte als Begrenzungszeichen akzeptiert werden, das das Ende von Optionen anzeigt. Alle folgenden Argumente sollten als Operanden behandelt werden, auch wenn sie mit'-'
beginnen Charakter. Die--
Argument sollte nicht als Option oder als Operand verwendet werden. -
Geben Sie den Pfad explizit an:
cd ./-2
Dies gibt den Pfad an, der explizit das aktuelle Verzeichnis benennt (
.
) als Ausgangspunkt.cd $(pwd)/-2 cd /absolute/path/to/-2
Dies sind Variationen zu den oben genannten. Eine beliebige Anzahl solcher Variationen kann möglich sein; Ich überlasse es dem Leser als Übung, sie alle zu entdecken.
Lösung 2:
Das sollte funktionieren:
cd -- -2
-- bedeutet keine weitere Option
Lösung 3:
Dies funktioniert, wenn '-2' im aktuellen Verzeichnis ist.
cd ./-2
Sie können automatisch vervollständigen, indem Sie - eingeben und die Tabulatortaste drücken.
Lösung 4:
cd /home/...../-2
funktioniert auch. Geben Sie den vollständigen Pfad für den Zugriff an.
Lösung 5:
Nur zur Ergänzung, wenn Sie dieses Verzeichnis entfernen/löschen möchten, können Sie den folgenden Befehl verwenden:
rm -r -- -2