Ich möchte alle Dateien aus einem Unterverzeichnis in ein anderes Verzeichnis kopieren, ohne den ursprünglichen Ordner zu kopieren. In einem Terminal würde ich dies nur tun:So kopieren Sie alle Dateien von einem Verzeichnis in ein anderes in einem Bash-Skript
cp -r dir1/* dir2
und dann dir2 werden alle Dateien von dir1 ohne enthalten dir1 selbst enthalten. Ich versuche, dies in einem Bash-Skript zu replizieren, und ich bekomme einen Fehler. Hier ist meine bash Code:
cp -r $pck_dir"/*" $TAR_DIR"/pck/"
ich diesen Fehler:
cp: cannot stat ‘./mailman/lists/mailman/*’: No such file or directory
Das ist seltsam, weil ich überprüfen kann, dass das betreffende Verzeichnis existiert. Ich glaube, Bash beschwert sich über das '*', aber ich bin mir nicht sicher warum. Kann mich jemand aufklären, was ich falsch mache?
'cp -r "$ pck_dir"/ * "$ TAR_DIR"/ Pck /' - Abstimmung als Tippfehler zu schließen. – devnull
Irgendein Problem bei der Verwendung von '{}' um Variablen 'cp -r $ {pck_dir}/* $ {TAR_DIR}/pck /' – PradyJord
Dies ist eine klar ausgesprochene Frage mit einer klar ausgesprochenen Antwort. Ich hatte das gleiche Problem und dank dieser Frage geht es mir nicht mehr. Die Erklärung, warum diese Frage geschlossen wurde, ergibt keinen Sinn. – andreasdr