0

I'm trying to write a script that moves files and (sub)directories from within one directory to another. That move operation should include not only regular files and directories but also any dot-files. So far I've come up with this:

mv -f "$SOURCE_DIR"/.?? "$TARGET_DIR"
mv -f "$SOURCE_DIR"/.??* "$TARGET_DIR"
mv -f "$SOURCE_DIR"/* "$TARGET_DIR"

But these commands fail if there are no files matching the patterns.

I need this move operation to succeed in any case ..

  • regardless of the file name
  • regardless if there are no files at all
  • regardless of the type: file, link, directory, etc.

But I need the operation to fail if something goes wrong completely (e.g. insufficient privileges at the target directory, etc.) so just ignoring any errors is not a good option.

How to I solve this problem? I guess there is a very simple solution to that which I overlooked.

Thank you for your help!

Regis May
  • 103
  • 2

1 Answers1

1

You are probably making this harder than you need to.

mv $srcdir $destdir
dmourati
  • 24,720
  • 2
  • 40
  • 69
  • You're right. But only in this very specific case: I can abandon the source directory as well and move it to the target as is. I came up with the existing solution in the first place as I though I could *not* remove the source directory ... So I guess your answer perfectly solves my problem (Thank you!!!) but I guess it does not answer the question ... ;-) – Regis May Jan 14 '21 at 16:07
  • So what should I do? Accept it as it solves my problem? It DOES solve my problem ... (Thank you!!!) – Regis May Jan 14 '21 at 16:07
  • if that answers your questions please give them the acceptance – djdomi Jan 14 '21 at 16:54