Sembra che dovrebbe essere semplice collegare un file a un nuovo file in una sottodirectory .... .... senza spostare le sottodirectory. Ma qualcosa nella sintassi è sconcertante e contrario a quello che mi aspetterei. Ecco un caso di prova:
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
Questo crea solo un link simbolico rotto! Sto eseguendo questo in uno script di installazione dell'ambiente di compilazione, quindi voglio evitare di cambiare la directory di lavoro corrente, se possibile.
ln -s deploy/resources.build.php resources.php
cat deploy/resources.php
Inoltre, non funziona perché crea il collegamento simbolico nella directory temporanea anziché nella sottodirectory deploy.
cd deploy
ln -s resources.build.php resources.php
cd ..
Funziona, ma preferirei sapere come farlo senza cambiare directory.
Utilizzando un percorso completo come:
/home/whatever/src/project/temp/stuff/temp/deploy/resources.build.php
Funziona, ma non è pesante e in qualche modo poco pratico, specialmente in un ambiente di build in cui tutte le cose del progetto potrebbero essere diverse tra build e simili.
Come posso creare un collegamento simbolico tra due file in una sottodirectory, senza spostarmi in quella sottodirectory e fuori da essa, e dando al nuovo file "alias" un nuovo nome?