En script es útil algo como esto:
if [ ! -d /etc/nginx ]; then ln -s /usr/local/nginx/conf/ /etc/nginx > /dev/null 2>&1; fi
previene antes de volver a crear el enlace simbólico en bucle "malo" después de volver a ejecutar el script
Este es el comportamiento de ln
si el segundo argumento es un directorio. Coloca un enlace al primer argumento dentro de él . Si quieres /etc/nginx
para ser el enlace simbólico, primero debe eliminar ese directorio y ejecutar el mismo comando.
Eso es lo que ln
está documentado para hacer cuando el objetivo ya existe y es un directorio. Si quieres /etc/nginx
ser ser un enlace simbólico en lugar de contener un enlace simbólico, ¡es mejor que no lo crees como un directorio primero!