![입력 파일을 심볼릭 링크로 사용하여 소프트웨어를 실행합니다.](https://linux55.com/image/156120/%EC%9E%85%EB%A0%A5%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%8B%AC%EB%B3%BC%EB%A6%AD%20%EB%A7%81%ED%81%AC%EB%A1%9C%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%EB%A5%BC%20%EC%8B%A4%ED%96%89%ED%95%A9%EB%8B%88%EB%8B%A4..png)
수천 개의 파일이 있는 디렉토리가 있고 각 디렉토리의 입력을 복제하지 않고 다른 디렉토리의 동일한 입력 파일을 사용하여 소프트웨어를 여러 번 실행하고 싶습니다. 다음 코드를 사용하여 각 파일 기호 링크에 대한 포인터를 만들었습니다.
ln -s /path/to/bayestraits/*_b.txt /path/to/bayestraits/dependiente_1
디렉토리 구조는 다음과 같습니다
bayestraits
dependiente_1
dependiente_2
dependiente_3
모든 디렉토리에서 다음 코드를 실행하고 싶습니다
for file in *_b.txt; do BayesTraitsV3 cyanomarkers_2.nex $file < Discrete_Dependent.txt ; done
문제는 코드를 실행할 때 출력 파일이 bayestraits 디렉터리, nodependente_1 디렉터리로 리디렉션된다는 것입니다.
답변1
심볼릭 링크 대신 플래그 없이 하드 링크를 만들 수 있습니다 -s
.
ln /path/to/bayestraits/*_b.txt /path/to/bayestraits/dependiente_1
기존 심볼릭 링크를 삭제하지 않고 덮어쓰려면 -f
(force) 플래그를 사용하세요.
ln -f /path/to/bayestraits/*_b.txt /path/to/bayestraits/dependiente_1