Fehler mit einem Dateinamen, der Klammern enthält


10

Als ich versuchte, den Dateinamen von old.file(1).gzin zu ändern new.file.gz, heißt es Syntaxfehler, ich verwende Ubuntu 12.04.

mv old.file(1).gz new.file.gz
bash: syntax error near unexpected token `('

8
Versuchen Sie es mv 'old.file(1).gz' new.file.gz.

Was für ein Ubuntu ist das? Ich habe noch nie von Ubuntu 12.0
mojo706

Antworten:


21

Der Kommentar von Yeti wird für Sie funktionieren, aber wenn Sie wissen möchten, warum, dann deshalb, weil Klammern als Sonderzeichen interpretiert werden und entweder mit \oder dem gesamten angegebenen Dateinamen (wie oben) maskiert werden müssen [edit: sorry, nur das (und ) müssen zitiert werden].

Wenn Sie die Tab-Vervollständigung aktiviert haben, geben Sie einfach die ersten Zeichen des Dateinamens ein und klicken Sie auf Tab. Das heißt, das Tippen mv oldund Drücken der Registerkarte sollte sich in verwandeln mv old.file\(1\).gz(es sei denn, es gibt andere potenzielle Dateien, auf old*die verwiesen werden könnte).


8
Der gesamte Dateiname muss nicht in Anführungszeichen gesetzt werden. Nur die ()tun. Sie können tun, mv old.fil'e(1).'gz new.file.gzwenn Sie möchten.
Stéphane Chazelas

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.