Soy relativamente nuevo en bash y estoy teniendo algunos problemas con un script que estoy tratando de escribir. Después de pasar la última hora más o menos investigando y probando nuevas técnicas, todavía no puedo hacer lo que me gustaría.
Mi objetivo es este: tengo una carpeta /Volumes/Server\ RAID/Photos donde guardo todas mis fotos. Cada carpeta se titula YYYY-MM FolderName donde a veces hay espacios en FolderName . Dentro de estas carpetas hay tres carpetas: Raw , Edited y Final . Mi objetivo es, con un solo script de bash, crear enlaces simbólicos en mi Escritorio para cada carpeta Final Y cambiar su nombre a su carpeta principal. Ejemplo: me gustaría que /Volumes/Server\ RAID/Photos/2016-10\ Fleet\ Week/Final tuviera un enlace simbólico en el escritorio llamado 2016-10 Fleet Week .
He probado muchas variedades diferentes del código que he publicado a continuación, pero el código que incluí fue el más conciso (aunque no funcionó).
Descripción del código:
- cd to Desktop para que se creen enlaces simbólicos allí
- utilizar para bucle para recorrer las carpetas
- crear enlace simbólico: aquí está el problema: necesito incluir el nombre de la carpeta en la ruta del archivo de alguna manera, pero también agregar
\antes de los espacios para que el comando no falle. SIN EMBARGO, he estado recibiendo mensajes de error que dicen que no hay un lugar llamadoRAID/Photos, lo que me hace pensar que el script está tropezando en el primer espacio, incluso con la barra invertida. -
Cambie el nombre del enlace simbólico
Finalal nombre de la carpeta. (Supuse que no necesitaba directorios completos aquí porque ya estoy en Desktopcd Desktop for f in /Volumes/Server\ RAID/Photos; do ln -s /Volumes/Server\ RAID/Photos/"$f"/Final mv Final $f done
PREGUNTA: ¿Puede alguien ayudarme a eliminar este script? (Me preocupa principalmente la tercera parte, pero tampoco diría que no para ayudar con el resto).