Script bash para mover ficheros entre directorios

Hoy me ha surgido tener que hacer un sencillo shell script de bash para que los ficheros de una carpeta, les cambie permisos y los mueva a otra carpeta.

Y si bien se puede hacer por todos los ficheros del directorio y se mueven, pero esto podría darme un error.

Necesitaba hacerlo fichero a fichero, dentro del directorio. Pensé en meter un ‘ls‘ en un array, pero no es necesario, es mucho más sencillo.

Con un ‘for‘ recorres el contenido, por cada fichero que encuentra le aplicas lo que necesitas y listo. Funciona como un reloj.

Aquí os dejo el script básico:

#! /bin/bash
for fichero in "/path/directorio/*"
do
  # acciones...
done

Y un caso práctico, donde declaramos como variables las rutas de los directorios, aplicamos permisos y movemos los ficheros de un origen a otro directorio sería:

#! /bin/bash
# Variables
rutaOrigen=/home/entrada/*
rutaDestino=/home/nueva_entrada/
# Loop
for fichero in "$rutaOrigen"
do
  /bin/chmod 666 $fichero
  /bin/chown usuario:grupo $fichero
  /bin/mv $fichero $rutaDestino
done

Un saludo