Ich habe ein Verzeichnis mit dem Namen:
-2
Ich möchte eine CD aufnehmen, aber die CD beklagt sich:
bash: cd: -2: invalid option
Ohne Erfolg habe ich versucht:
cd "-2"
cd '-2'
cd \-2
Irgendeine Lösung?
Bearbeiten: Auf dem Server sind keine Dateibrowser wie mc usw. verfügbar.
linux
command-line-interface
user151851
quelle
quelle
Antworten:
Mindestens zwei Möglichkeiten:
Verwenden Sie das
--
Argument.Dabei wird eine für GNU-Tools übliche Konvention verwendet, bei der nichts, was danach erscheint,
--
als Befehlszeilenoption behandelt wird.Wie ein Kommentator feststellte, ist diese Konvention auch im POSIX-Standard definiert :
sowie :
Geben Sie den Pfad explizit an:
Dies gibt den Pfad an, in dem das aktuelle Verzeichnis (
.
) explizit als Ausgangspunkt angegeben wird.Dies sind Variationen der oben genannten. Es kann eine beliebige Anzahl solcher Variationen möglich sein; Ich überlasse es dem Leser als Übung, sie alle zu entdecken.
quelle
cd
Seite "Dascd
Dienstprogramm muss ... Abschnitt 12.2 entsprechen"."hello world"
ist ein Argument, aberhello world
zwei, und"-2"
ist das gleiche wie-2
.cd -- --
odercd ./--
sollte funktionieren.Das sollte funktionieren:
- bedeutet keine Option mehr
quelle
Dies funktioniert, wenn sich '-2' im aktuellen Verzeichnis befindet.
Sie können automatisch vervollständigen, indem Sie - eingeben und die Tabulatortaste drücken.
quelle
cd /home/...../-2 funktioniert auch. Geben Sie den vollständigen Pfad für den Zugriff an.
quelle
Zur Ergänzung, wenn Sie dieses Verzeichnis entfernen / löschen möchten, können Sie den folgenden Befehl verwenden:
quelle
Ich weiß, dass diese Frage bereits beantwortet wurde. Wenn jemand eine Situation wie meine hat, ist dies für ihn:
Ich habe eine Java-App ausgeführt und es wurde nach einem Verzeichnis gesucht
<path>
, das mit beginnt . Ich sollte dieses Verzeichnis durch den richtigen Pfad ersetzen, bevor ich die App ausführe. Das habe ich jedoch vergessen. Die App hat ein Verzeichnis namens erstellt<path>
.Ich habe versucht,
cd <path>
- gab mir Fehler "-bash: Syntaxfehler in der Nähe von unerwartetem Token Newline" Basierend auf dem Vorschlag hier (ich verstehe, dass es für Verzeichnis beginnend mit - und nicht <) habe ich versuchtcd -- <path>
. Ich habe jedoch den gleichen Fehler bekommen.Als ich es versuchte
cd \<path>\
- das hat funktioniert!Hintergrundinformation:
Die Symbole "<" und ">" werden zum Umleiten von STDIN und STDOUT verwendet. Sie müssen daher maskiert werden, damit die Shell sie nicht als Umleitungen interpretiert.
quelle