Bash unter Windows: Befehl mv - kann nicht in ein Unterverzeichnis von sich selbst verschoben werden
3096
Sly_cardinal
Ich versuche, Ruby aus Quellen auf dem Windows Linux-Subsystem zu installieren. Ich habe erfolgreich aus dem Quellcode in meinem Home-Verzeichnis erstellt: ~/ruby/ruby-2.3.0Ich versuche, es in das Verzeichnis zu verschieben /opt/rubies/.
Wenn ich den Befehl zum Verschieben ausführe, erhalte ich die folgende Fehlermeldung:
/# mv ~/ruby/ruby-2.3.0/ /opt/rubies/ mv: cannot move ‘/root/ruby/ruby-2.3.0/’ to a subdirectory of itself, ‘/opt/rubies/ruby-2.3.0’
Das ist sehr verwirrend, da ich das Verzeichnis an einen völlig anderen Ort verschiebe, nicht in ein Unterverzeichnis von selbst, wie die Pfade selbst zeigen.
Das gleiche gilt für jeden Befehl zum Verschieben in meinem Home-Verzeichnis:
~# mv test/ / mv: cannot move ‘test/’ to a subdirectory of itself, ‘/test’
Es fällt sowohl mit als auch ohne nachstehende Schrägstriche aus. Ich habe bestätigt, dass auch das Zielverzeichnis leer ist.
Sly_cardinal vor 8 Jahren
0
0
Rowan Hawkins
Versuchen Sie es ohne das nachstehende /Argument auf das Quellargument. Damit sagen Sie dem Betriebssystem, dass es den Inhalt des Verzeichnisses verschieben soll, aber nicht die Dateien und nicht das Verzeichnis. Das ist eigentlich eine Konvention, die viele Unix-Systeme über Befehle hinweg befolgen.
Also statt: mv ~/ruby/ruby-2.3.0/ /opt/rubies/
Versuchen: mv ~/ruby/ruby-2.3.0 /opt/rubies/
Sie müssen auch sicherstellen, dass Sie den Befehl nicht mit PWD = ~ / ruby / ruby-2.3.0 ausführen, da Sie dann versuchen, das Verzeichnis, in dem Sie sich befinden, zu verschieben. cd ~; mv ~/ruby/ruby-2.3.0 /opt/rubies/
Ich habe alle Kombinationen von nachgestellten Schrägstrichen - mit und ohne - ausprobiert, und es wird immer noch derselbe Fehler angezeigt. Im ersten Beispiel habe ich den Befehl von `PWD = /` ausgeführt, also befand ich mich nicht im verschobenen Verzeichnis.
Sly_cardinal vor 8 Jahren
0