¿Puede Automator crear enlaces simbólicos pero omitir archivos existentes?

1

Hoy descubrí la impresionante acción de crear enlaces simbólicos desde JuneCloud . Funciona muy bien, pero crea archivos duplicados (agregando un número a cada uno) para cualquier enlace simbólico que ya exista en la ubicación final. Quiero que solo ignore esos archivos y continúe en camiones.

Intenté usar un script de shell ln -s , pero eso simplemente falla con un mensaje The action “Run Shell Script” encountered an error. después de golpear un archivo que ya existe.

¿Hay una manera de crear un enlace simbólico pero PASE A LOS Archivos existentes? Sé que puedo sobreescribir -f pero prefiero omitir. ¿Cómo se puede hacer esto en Automator o shell script?

    
pregunta Jonathan van Clute 18.04.2017 - 22:47

1 respuesta

2

¡Sí! Puedes hacerlo fácilmente en el script de shell. El indicador -h se ajusta a la factura, como se describe (más o menos) en ln man page . Entonces, en lugar de hacer ln -s , haz ln -sh .

Aquí hay un ejemplo. Digamos que querías crear un enlace simbólico de cada una de tus descargas, que existiría en tu escritorio, pero ya tienes algunos enlaces simbólicos allí. Entonces podrías hacer esto:

cd Downloads
for f in *; do ln -sh ~/Downloads/"$f" ~/Desktop; done;

Para cualquier archivo para el que ya tenga enlaces simbólicos, el comando se imprimirá:

    ln: /Users/******/Desktop/FlashPlayer.dmg: File exists

El comando realiza esta impresión después de ejecutarse, por lo que no genera ningún error ni requiere entradas adicionales.

    
respondido por el NoahL 18.04.2017 - 23:31

Lea otras preguntas en las etiquetas