A continuación se muestra mi código para crear un enlace simbólico de un directorio:
sudo ln -s /usr/local/nginx/conf/ /etc/nginx
Ya creé el directorio /etc/nginx. Solo quiero que el contenido del directorio de origen ( /usr/local/nginx/conf/) esté en el contenido del directorio de destino ( /etc/nginx). Pero cuando ejecuto el código, /etc/nginxcontiene un directorio llamado conf, en lugar del contenido deconf . Ese directorio contiene los contenidos que quiero, pero en la ubicación incorrecta.
¿Por qué puso un directorio en la carpeta de destino, en lugar de simplemente poner el contenido del directorio en la carpeta de destino?

bind mountfunción de Linux . ejemploRespuestas:
Este es el comportamiento de
lnsi el segundo argumento es un directorio. Coloca un enlace al primer argumento dentro de él . Si desea/etc/nginxser el enlace simbólico, primero debe eliminar ese directorio y ejecutar el mismo comando.fuente
Eso es lo que
lnestá documentado cuando el destino ya existe y es un directorio. Si quieres/etc/nginxa ser un enlace simbólico en lugar de contener un enlace simbólico, es mejor que no hubiera crearlo como un directorio primero!fuente
En script es útil algo como esto:
evita antes de volver a crear un enlace simbólico en bucle "malo" después de volver a ejecutar el script
fuente