서브 디렉토리를 이동하지 않고 하나의 파일을 서브 디렉토리의 새 파일에 심볼릭 링크하는 것이 간단해야합니다. 그러나 구문에 대한 무언가는 당황하고 내가 기대하는 것에 반합니다. 테스트 사례는 다음과 같습니다.
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 하위 디렉토리 대신 temp 디렉토리에 symlink를 작성하기 때문에 작동하지 않습니다.
cd deploy
ln -s resources.build.php resources.php
cd ..
이것은 작동하지만 디렉토리를 변경하지 않고 수행하는 방법을 알고 싶습니다.
다음과 같은 전체 경로를 사용하십시오.
/home/whatever/src/project/temp/stuff/temp/deploy/resources.build.php
효과는 있지만, 특히 프로젝트마다 모든 프로젝트 내용이 다를 수있는 빌드 환경에서 부적절하고 다소 비실용적입니다.
하위 디렉토리로 이동하거나 하위 디렉토리로 이동하지 않고 새 파일에 "별칭"이라는 새 이름을 지정하지 않고 하위 디렉토리의 두 파일간에 심볼릭 링크를 만들려면 어떻게해야합니까?