Parece que debería ser simple vincular un archivo a un nuevo archivo en un subdirectorio .... .... sin mover subdirectorios. Pero algo acerca de la sintaxis es desconcertante y contrario a lo que esperaría. Aquí hay un caso de prueba:
mkdir temp
cd temp
mkdir deploy
echo "Contents of the build file!" > deploy/resources.build.php
ln -s deploy/resources.build.php deploy/resources.php
cat deploy/resources.php #bad symlink
¡Esto solo crea un enlace simbólico roto! Estoy ejecutando esto en un script de configuración del entorno de compilación, por lo que quiero evitar cambiar el directorio de trabajo actual si es posible.
ln -s deploy/resources.build.php resources.php
cat deploy/resources.php
Tampoco funciona porque crea el enlace simbólico en el directorio temporal en lugar del subdirectorio de implementación.
cd deploy
ln -s resources.build.php resources.php
cd ..
Esto funciona, pero preferiría saber cómo hacerlo sin cambiar los directorios.
Usando una ruta completa como:
/home/whatever/src/project/temp/stuff/temp/deploy/resources.build.php
Funciona, pero es poco práctico y poco práctico, especialmente en un entorno de compilación donde todas las cosas del proyecto pueden ser diferentes entre compilaciones y similares.
¿Cómo puedo crear un enlace simbólico entre dos archivos en un subdirectorio, sin pasar a ese subdirectorio y fuera de él, y al mismo tiempo darle un nuevo nombre al "alias" del nuevo archivo?