Bash: ¿Cómo mover archivos y directorios de un directorio a otro?

Bash: ¿Cómo mover archivos y directorios de un directorio a otro?

Estoy intentando escribir un script que mueva archivos y (sub)directorios de un directorio a otro. Esa operación de movimiento debe incluir no sólo archivos y directorios normales, sino también cualquier archivo de puntos. Hasta ahora se me ocurrió esto:

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

Pero estos comandos fallan si no hay archivos que coincidan con los patrones.

Necesito que esta operación de movimiento tenga éxito en cualquier caso.

  • independientemente del nombre del archivo
  • independientemente de si no hay ningún archivo
  • independientemente del tipo: archivo, enlace, directorio, etc.

Pero necesito que la operación falle si algo sale completamente mal (por ejemplo, privilegios insuficientes en el directorio de destino, etc.), por lo que simplemente ignorar cualquier error no es una buena opción.

¿Cómo soluciono este problema? Supongo que hay una solución muy sencilla para lo que pasé por alto.

¡Gracias por su ayuda!

Respuesta1

Probablemente estés haciendo esto más difícil de lo necesario.

mv $srcdir $destdir

información relacionada