Похоже, что просто вставить символическую ссылку одного файла в новый файл в подкаталоге .... .... без перемещения подкаталогов. Но что-то в синтаксисе вызывает недоумение и противоречит тому, что я ожидал. Вот контрольный пример:
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
Это просто создает битую символическую ссылку! Я запускаю это в скрипте установки среды сборки, поэтому я хочу избежать изменения текущего рабочего каталога, если это возможно.
ln -s deploy/resources.build.php resources.php
cat deploy/resources.php
Также не работает, потому что он создает символическую ссылку во временном каталоге вместо подкаталога deploy.
cd deploy
ln -s resources.build.php resources.php
cd ..
Это работает, но я бы предпочел знать, как это сделать, не меняя каталоги.
Используя полный путь как:
/home/whatever/src/project/temp/stuff/temp/deploy/resources.build.php
Работает, но неудобно и несколько непрактично, особенно в среде сборки, где все компоненты проекта могут быть разными в разных сборках и тому подобное.
Как я могу создать символическую ссылку между двумя файлами в подкаталоге, не перемещаясь в этот подкаталог и не выходя из него, и в то же время давая новому файлу "псевдоним" новое имя?